rcu: Provide OOM handler to motivate lazy RCU callbacks

In kernels built with CONFIG_RCU_FAST_NO_HZ=y, CPUs can accumulate a
large number of lazy callbacks, which as the name implies will be slow
to be invoked.  This can be a problem on small-memory systems, where
the default 6-second sleep for CPUs having only lazy RCU callbacks
could well be fatal.  This commit therefore installs an OOM hander
that invokes all flavors of rcu_barrier(), thus ensuring that every
CPU with callbacks has at least one non-lazy callback, in turn ensuring
timely advancement for these callbacks.

Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
1 file changed