]> git.karo-electronics.de Git - karo-tx-linux.git/commit
ia64: Add missing RCU idle APIs on idle loop
authorPaul E. McKenney <paul.mckenney@linaro.org>
Fri, 24 Aug 2012 20:22:13 +0000 (13:22 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 5 Sep 2012 01:17:24 +0000 (18:17 -0700)
commitdea42dc2282b9c8f78eb1fb6c4a0c81d700dd31c
treecaf218978dd4a089c149ac0d9a6742a00fd7b116
parent692878147ee19b602fa76d8b6b6ef193e2adffd0
ia64: Add missing RCU idle APIs on idle loop

Traditionally, the entire idle task served as an RCU quiescent state.
But when RCU read side critical sections started appearing within the
idle loop, this traditional strategy became untenable.  The fix was to
create new RCU APIs named rcu_idle_enter() and rcu_idle_exit(), which
must be called by each architecture's idle loop so that RCU can tell
when it is safe to ignore a given idle CPU.

Unfortunately, this fix was never applied to ia64, a shortcoming remedied
by this commit.

Reported by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Tested by: Tony Luck <tony.luck@intel.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
arch/ia64/kernel/process.c