]> git.baikalelectronics.ru Git - kernel.git/commit
inet: frag: don't wait for timer deletion when evicting
authorFlorian Westphal <fw@strlen.de>
Thu, 23 Jul 2015 10:05:39 +0000 (12:05 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 27 Jul 2015 04:00:14 +0000 (21:00 -0700)
commit7ee593563a3519c75ae6e44b847b6fce7ecc3104
tree570c65c0f68a6e392931d74ec4a1830fe0ac70f8
parent71d2a93535fac6062dfac31e4233f49f5bb13552
inet: frag: don't wait for timer deletion when evicting

Frank reports 'NMI watchdog: BUG: soft lockup' errors when
load is high.  Instead of (potentially) unbounded restarts of the
eviction process, just skip to the next entry.

One caveat is that, when a netns is exiting, a timer may still be running
by the time inet_evict_bucket returns.

We use the frag memory accounting to wait for outstanding timers,
so that when we free the percpu counter we can be sure no running
timer will trip over it.

Reported-and-tested-by: Frank Schreuder <fschreuder@transip.nl>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/inet_fragment.c