Thanks for the review.

> Can this lead to a deadlock on 32-bit systems?

The described odd-seqcount deadlock requires a 32-bit MANA configuration,
which is not supported by either the v6 base or the rebased v7.

MICROSOFT_MANA is restricted to X86_64 or little-endian ARM64. The upstream
CDX transport present in the v7 base also explicitly requires 64BIT.
The common GDMA core is selected by those supported transports; it does
not provide a separate 32-bit MANA device path.

On 64-bit, include/linux/u64_stats_sync.h has no seqcount in
struct u64_stats_sync. Its update helpers are empty and fetch_retry always
returns false. A reader cannot enter the odd-sequence retry loop described
in the report, even if the folding task is preempted.

The MTU change does not change these architecture constraints or the
64-bit helper implementation. The fold remains under RTNL and after
quiescing the retiring RX drain-stat writers.

I have therefore not added preemption/IRQ disabling for this report in v7.
This conclusion concerns the reported seqcount deadlock, not a guarantee
for a hypothetical future 32-bit port or for unrelated concurrent-writer
statistics bugs.

Thanks,
Wei

Reply via email to