]> git.karo-electronics.de Git - karo-tx-linux.git/commit
rcu: Provide OOM handler to motivate lazy RCU callbacks
authorPaul E. McKenney <paul.mckenney@linaro.org>
Tue, 12 Jun 2012 00:39:43 +0000 (17:39 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 5 Sep 2012 18:57:15 +0000 (11:57 -0700)
commit6694bed3b2dd0a7ad6aabcd440ffc2a36206b598
tree35f272167b2a2b1cc71f031a244a7564b4589bc2
parent23bbf3f68ca0d7e88ddd0d17c0d4d5b33f1d6339
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 ensures that
every CPU with lazy callbacks has at least one non-lazy callback, in turn
ensuring timely advancement for these callbacks.

Also fix bug that disabled OOM killing, noted by Lai Jiangshan.

Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Tested-by: Sasha Levin <levinsasha928@gmail.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
kernel/rcutree.h
kernel/rcutree_plugin.h