rcu: Set a maximum limit for back-to-back callback invocation
authorPaul E. McKenney <paulmck@linux.ibm.com>
Thu, 11 Apr 2019 00:01:39 +0000 (17:01 -0700)
committerPaul E. McKenney <paulmck@linux.ibm.com>
Tue, 28 May 2019 16:02:57 +0000 (09:02 -0700)
commitd5a9a8c3bc8068f2e5dfba30150ac09b596b461a
treee74edf46dcdfa40c384726d59c4b97170aa1924b
parent12edff045bc6dd3ab1565cc02fa4841803c2a633
rcu: Set a maximum limit for back-to-back callback invocation

Currently, if a CPU has more than 10,000 callbacks pending, it will
increase rdp->blimit to LONG_MAX.  If you are lucky, LONG_MAX is only
about two billion, but this is still a bit too many callbacks to invoke
back-to-back while otherwise ignoring the world.

This commit therefore sets a maximum limit of DEFAULT_MAX_RCU_BLIMIT,
which is set to 10,000, for rdp->blimit.

Reported-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Paul E. McKenney <paulmck@linux.ibm.com>
kernel/rcu/tree.c