> -----Original Message-----
> From: Keller, Jacob E <[email protected]>
> Sent: Tuesday, November 4, 2025 2:07 AM
> 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 0/9] ice: properly use u64_stats API for all
> ring stats
> 
> The ice driver has multiple u64 values stored in the ring structures
> for each queue used for statistics. These are accumulated in
> ice_update_vsi_stats(). The packet and byte values are read using the
> u64_stats API from <linux/u64_stats_sync.h>.
> 
> Several non-standard counters are also accumulated in the same
> function, but do not use the u64_stats API. This could result in
> load/store tears on 32-bit architectures. Further, since commit
> 316580b69d0a ("u64_stats:
> provide u64_stats_t type"), the u64 stats API has had u64_stats_t and
> access functions which convert to local64_t on 64-bit architectures.
> 
> The ice driver doesn't use u64_stats_t and these access functions.
> Thus even on 64-bit architectures it could read inconsistent values.
> This series refactors the ice driver to use the updated API. Along the
> way I noticed several other issues and inconsistencies which I have
> cleaned up, summarized below.
> 
> *) The driver never called u64_stats_init, leaving the syncp
> improperly
>    initialized. Since the field is part of a kzalloc block, this only
>    impacts 32-bit systens with CONFIG_LOCKDEP enabled.
> 
“systens” → “systems”

Best regards, Alex

...

> --
> Jacob Keller <[email protected]>

Reply via email to