On 11/3/2025 11:27 PM, Loktionov, Aleksandr wrote: > > >> -----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 >
Fixed this and the other mistakes you spotted. Thanks for the careful review! Regards, Jake > ... > >> -- >> Jacob Keller <[email protected]> >
OpenPGP_signature.asc
Description: OpenPGP digital signature
