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

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to