> From: Intel-wired-lan <intel-wired-lan-bounces@xxxxxxxxxx> On Behalf Of Maciej > Fijalkowski > Sent: Thursday, August 19, 2021 5:30 PM > To: intel-wired-lan@xxxxxxxxxxxxxxxx > Cc: joamaki@xxxxxxxxx; Lobakin, Alexandr <alexandr.lobakin@xxxxxxxxx>; > netdev@xxxxxxxxxxxxxxx; toke@xxxxxxxxxx; bjorn@xxxxxxxxxx; kuba@xxxxxxxxxx; > bpf@xxxxxxxxxxxxxxx; davem@xxxxxxxxxxxxx; Karlsson, Magnus > <magnus.karlsson@xxxxxxxxx> > Subject: [Intel-wired-lan] [PATCH v7 intel-next 4/9] ice: unify xdp_rings accesses > > There has been a long lasting issue of improper xdp_rings indexing for XDP_TX > and XDP_REDIRECT actions. Given that currently rx_ring->q_index is mixed with > smp_processor_id(), there could be a situation where Tx descriptors are produced > onto XDP Tx ring, but tail is never bumped - for example pin a particular queue id > to non-matching IRQ line. > > Address this problem by ignoring the user ring count setting and always initialize > the xdp_rings array to be of num_possible_cpus() size. Then, always use the > smp_processor_id() as an index to xdp_rings array. This provides serialization as > at given time only a single softirq can run on a particular CPU. > > Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@xxxxxxxxx> > --- > drivers/net/ethernet/intel/ice/ice_lib.c | 2 +- > drivers/net/ethernet/intel/ice/ice_main.c | 2 +- > drivers/net/ethernet/intel/ice/ice_txrx_lib.c | 2 +- > 3 files changed, 3 insertions(+), 3 deletions(-) > Tested-by: George Kuruvinakunnel <george.kuruvinakunnel@xxxxxxxxx>