On September 15, 2017 2:25:11 PM PDT, David Miller <da...@davemloft.net> wrote: >From: Florian Fainelli <f.faine...@gmail.com> >Date: Tue, 12 Sep 2017 13:14:26 -0700 > >> We can enter a deadlock situation because there is no sufficient >protection >> when ndo_get_stats64() runs in process context to guard against RX or >TX NAPI >> contexts running in softirq, this can lead to the following lockdep >splat and >> actual deadlock was experienced as well with an iperf session in the >background >> and a while loop doing ifconfig + ethtool. > ... >> So just remove the u64_stats_update_begin()/end() pair in >ndo_get_stats64() >> since it does not appear to be useful for anything. No inconsistency >was >> observed with either ifconfig or ethtool, global TX counts equal the >sum of >> per-queue TX counts on a 32-bit architecture. >> >> Fixes: 10377ba7673d ("net: systemport: Support 64bit statistics") >> Signed-off-by: Florian Fainelli <f.faine...@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