]> www.infradead.org Git - users/jedix/linux-maple.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)
committerChuck Anderson <chuck.anderson@oracle.com>
Mon, 12 Dec 2016 01:40:35 +0000 (17:40 -0800)
commitb17a9c9b55208966eeda5b9a2292743593689c53
tree17e39921fc1824043aba810c2c9d108624a3c777
parent32f98bb91289cb96b2d442761bb51f7991b2a44d
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>
Orabug: 23633320
(cherry picked from commit 5719b296fb81502d0dbbb4e87b3235e5bdcdfc6b)
Signed-off-by: Todd Vierling <todd.vierling@oracle.com>
net/ipv4/inet_fragment.c