> -----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 6/6] ice: convert all ring > stats to u64_stats_t > > After several cleanups, the ice driver is now finally ready to convert all Tx > and Rx ring stats to the u64_stats_t and proper use of the u64 stats APIs. > > The final remaining part to cleanup is the VSI stats accumulation logic in > ice_update_vsi_ring_stats(). > > Refactor the function and its helpers so that all stat values (and not just > pkts and bytes) use the u64_stats APIs. The ice_fetch_u64_(tx|rx)_stats > functions read the stat values using u64_stats_read and then copy them into > local ice_vsi_(tx|rx)_stats structures. This does require making a new struct > with the stat fields as u64. > > The ice_update_vsi_(tx|rx)_ring_stats functions call the fetch functions per > ring and accumulate the result into one copy of the struct. This accumulated > total is then used to update the relevant VSI fields. > > Since these are relatively small, the contents are all stored on the stack > rather than allocating and freeing memory. > > Once the accumulator side is updated, the helper ice_stats_read and > ice_stats_inc and other related helper functions all easily translate to use > of u64_stats_read and u64_stats_inc. This completes the refactor and ensures > that all stats accesses now make proper use of the API. > > Reviewed-by: Aleksandr Loktionov <[email protected]> > Signed-off-by: Jacob Keller <[email protected]> > --- > drivers/net/ethernet/intel/ice/ice_txrx.h | 28 +++-- > drivers/net/ethernet/intel/ice/ice_lib.c | 29 ++--- > drivers/net/ethernet/intel/ice/ice_main.c | 180 ++++++++++++++++++++---------- > 3 files changed, 147 insertions(+), 90 deletions(-) >
Tested-by: Rinitha S <[email protected]> (A Contingent worker at Intel)
