Thread (6 messages) flat view 6 messages, 3 authors, 2017-09-15

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 -0700
quoted
We can enter a deadlock situation because there is no sufficient
protection
quoted
when ndo_get_stats64() runs in process context to guard against RX or
TX NAPI
quoted
contexts running in softirq, this can lead to the following lockdep
splat and
quoted
actual deadlock was experienced as well with an iperf session in the
background
quoted
and a while loop doing ifconfig + ethtool.
...
quoted
So just remove the u64_stats_update_begin()/end() pair in
ndo_get_stats64()
quoted
since it does not appear to be useful for anything. No inconsistency
was
quoted
observed with either ifconfig or ethtool, global TX counts equal the
sum of
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help