From: Paul E. McKenney Date: Fri, 6 Jan 2012 22:11:30 +0000 (-0800) Subject: rcu: Avoid waking up CPUs having only kfree_rcu() callbacks X-Git-Tag: v3.4-rc1~194^2^2~43 X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=486e259340fc4c60474f2c14703e3b3634bb58ca;p=pandora-kernel.git rcu: Avoid waking up CPUs having only kfree_rcu() callbacks When CONFIG_RCU_FAST_NO_HZ is enabled, RCU will allow a given CPU to enter dyntick-idle mode even if it still has RCU callbacks queued. RCU avoids system hangs in this case by scheduling a timer for several jiffies in the future. However, if all of the callbacks on that CPU are from kfree_rcu(), there is no reason to wake the CPU up, as it is not a problem to defer freeing of memory. This commit therefore tracks the number of callbacks on a given CPU that are from kfree_rcu(), and avoids scheduling the timer if all of a given CPU's callbacks are from kfree_rcu(). Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney --- Reading git-diff-tree failed