> -----Original Message----- > From: Intel-wired-lan <[email protected]> On Behalf Of Jacob > Keller > Sent: 21 November 2025 01:51 > To: Loktionov, Aleksandr <[email protected]>; Lobakin, Aleksander > <[email protected]>; Nguyen, Anthony L > <[email protected]>; Kitszel, Przemyslaw > <[email protected]> > Cc: Simon Horman <[email protected]>; [email protected]; > [email protected]; Keller, Jacob E <[email protected]>; > Loktionov, Aleksandr <[email protected]> > Subject: [Intel-wired-lan] [PATCH iwl-next v4 5/6] ice: shorten ring stat > names and add accessors > > The ice Tx/Rx hotpath has a few statistics counters for tracking unexpected > events. These values are stored as u64 but are not accumulated using the > u64_stats API. This could result in load/tear stores on some architectures. > Even some 64-bit architectures could have issues since the fields are not > read or written using ACCESS_ONCE or READ_ONCE. > > A following change is going to refactor the stats accumulator code to use the > u64_stats API for all of these stats, and to use u64_stats_read and > u64_stats_inc properly to prevent load/store tears on all architectures. > > Using u64_stats_inc and the syncp pointer is slightly verbose and would be > duplicated in a number of places in the Tx and Rx hot path. Add accessor > macros for the cases where only a single stat value is touched at once. To > keep lines short, also shorten the stats names and convert ice_txq_stats and > ice_rxq_stats to struct_group. > > This will ease the transition to properly using the u64_stats API in the > following change. > > Reviewed-by: Aleksandr Loktionov <[email protected]> > Signed-off-by: Jacob Keller <[email protected]> > --- > drivers/net/ethernet/intel/ice/ice_txrx.h | 55 +++++++++++++++++++-------- > drivers/net/ethernet/intel/ice/ice_txrx_lib.h | 2 +- > drivers/net/ethernet/intel/ice/ice_main.c | 16 ++++---- > drivers/net/ethernet/intel/ice/ice_txrx.c | 16 ++++---- > drivers/net/ethernet/intel/ice/ice_txrx_lib.c | 2 +- > drivers/net/ethernet/intel/ice/ice_xsk.c | 4 +- > 6 files changed, 60 insertions(+), 35 deletions(-) >
Tested-by: Rinitha S <[email protected]> (A Contingent worker at Intel)
