From: Paul E. McKenney Date: Mon, 26 Aug 2013 04:20:47 +0000 (-0700) Subject: rcu: Throttle rcu_try_advance_all_cbs() execution X-Git-Tag: omap-for-v3.13/fixes-for-merge-window-take2~44^2^2~1^2~4 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c229828ca6bc62d6c654f64b1d1b8a9ebd8a56f3;p=pandora-kernel.git rcu: Throttle rcu_try_advance_all_cbs() execution The rcu_try_advance_all_cbs() function is invoked on each attempted entry to and every exit from idle. If this function determines that there are callbacks ready to invoke, the caller will invoke the RCU core, which in turn will result in a pair of context switches. If a CPU enters and exits idle extremely frequently, this can result in an excessive number of context switches and high CPU overhead. This commit therefore causes rcu_try_advance_all_cbs() to throttle itself, refusing to do work more than once per jiffy. Reported-by: Tibor Billes Signed-off-by: Paul E. McKenney Tested-by: Tibor Billes Reviewed-by: Josh Triplett --- Reading git-diff-tree failed