> -----Original Message----- > From: Keller, Jacob E <[email protected]> > Sent: Wednesday, November 5, 2025 10:07 PM > To: Loktionov, Aleksandr <[email protected]>; Lobakin, > Aleksander <[email protected]>; Nguyen, Anthony L > <[email protected]>; Kitszel, Przemyslaw > <[email protected]> > Cc: [email protected]; [email protected]; Keller, > Jacob E <[email protected]> > Subject: [PATCH iwl-next v2 8/9] 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. > > Signed-off-by: Jacob Keller <[email protected]> > ---
... > -- > 2.51.0.rc1.197.g6d975e95c9d7 Reviewed-by: Aleksandr Loktionov <[email protected]>
