Re: [PATCH net] net: systemport: Fix 64-bit stats deadlock
From: Florian Fainelli <f.fainelli@gmail.com>
Date: 2017-09-15 21:28:45
On September 15, 2017 2:25:11 PM PDT, David Miller [off-list ref] wrote:
From: Florian Fainelli <f.fainelli@gmail.com> Date: Tue, 12 Sep 2017 13:14:26 -0700quoted
We can enter a deadlock situation because there is no sufficientprotectionquoted
when ndo_get_stats64() runs in process context to guard against RX orTX NAPIquoted
contexts running in softirq, this can lead to the following lockdepsplat andquoted
actual deadlock was experienced as well with an iperf session in thebackgroundquoted
and a while loop doing ifconfig + ethtool....quoted
So just remove the u64_stats_update_begin()/end() pair inndo_get_stats64()quoted
since it does not appear to be useful for anything. No inconsistencywasquoted
observed with either ifconfig or ethtool, global TX counts equal thesum ofquoted
per-queue TX counts on a 32-bit architecture. Fixes: 10377ba7673d ("net: systemport: Support 64bit statistics") Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>Applied.
FYI, there is another patch needed to ensure consistency between ethtool reported stats and netdevice stats, will submit that after some more testing. Thanks! -- Florian