> -----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)

Reply via email to