]> git.karo-electronics.de Git - karo-tx-linux.git/commit
ARM: fix rcu stalls on SMP platforms
authorRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 19 Jan 2012 15:20:58 +0000 (15:20 +0000)
committerOliver Wendt <ow@karo-electronics.de>
Mon, 30 Sep 2013 12:12:26 +0000 (14:12 +0200)
commit4b5014bcdce9dd51d6a084a15d2264be527ed2b0
treeae9bf028394ea08f971bd50d01eb753a140afb41
parent2619a574ca3b30b02f05e603b285356fe0e5d29f
ARM: fix rcu stalls on SMP platforms

commit 7deabca0acfe02b8e18f59a4c95676012f49a304 upstream.

We can stall RCU processing on SMP platforms if a CPU sits in its idle
loop for a long time.  This happens because we don't call irq_enter()
and irq_exit() around generic_smp_call_function_interrupt() and
friends.  Add the necessary calls, and remove the one from within
ipi_timer(), so that they're all in a common place.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
[add irq_enter()/irq_exit() in do_local_timer]
Signed-off-by: UCHINO Satoshi <satoshi.uchino@toshiba.co.jp>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm/kernel/smp.c