1
linux/arch
Frederic Weisbecker 0ee23fda59 score: Add missing RCU idle APIs on idle loop
In the old times, the whole idle task was considered
as an RCU quiescent state. But as RCU became more and
more successful overtime, some RCU read side critical
section have been added even in the code of some
architectures idle tasks, for tracing for example.

So nowadays, rcu_idle_enter() and rcu_idle_exit() must
be called by the architecture to tell RCU about the part
in the idle loop that doesn't make use of rcu read side
critical sections, typically the part that puts the CPU
in low power mode.

This is necessary for RCU to find the quiescent states in
idle in order to complete grace periods.

Add this missing pair of calls in scores's idle loop.

Reported-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Chen Liqin <liqin.chen@sunplusct.com>
Cc: Lennox Wu <lennox.wu@gmail.com>
Cc: <stable@vger.kernel.org> # 3.3+
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
2012-09-23 07:44:50 -07:00
..
alpha alpha: Add missing RCU idle APIs on idle loop 2012-09-23 07:44:43 -07:00
arm Merge branch 'fixes-for-3.6' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2012-09-08 16:22:43 -07:00
avr32 ipc: use Kconfig options for __ARCH_WANT_[COMPAT_]IPC_PARSE_VERSION 2012-07-30 17:25:21 -07:00
blackfin Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k 2012-08-03 10:52:41 -07:00
c6x Enable atomic64 ops in C6X 2012-08-17 08:10:12 -07:00
cris cris: Add missing RCU idle APIs on idle loop 2012-09-23 07:44:44 -07:00
frv frv: Add missing RCU idle APIs on idle loop 2012-09-23 07:44:45 -07:00
h8300 h8300: Add missing RCU idle APIs on idle loop 2012-09-23 07:44:46 -07:00
hexagon Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild 2012-07-30 11:24:53 -07:00
ia64 [IA64] defconfig: Remove CONFIG_MISC_DEVICES 2012-08-20 13:04:29 -07:00
m32r m32r: Add missing RCU idle APIs on idle loop 2012-09-23 07:44:47 -07:00
m68k m68k: Add missing RCU idle APIs on idle loop 2012-09-23 07:44:47 -07:00
microblaze Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k 2012-08-03 10:52:41 -07:00
mips MIPS: pci-ar724x: avoid data bus error due to a missing PCIe module 2012-08-23 15:44:47 +02:00
mn10300 mn10300: Add missing RCU idle APIs on idle loop 2012-09-23 07:44:48 -07:00
openrisc
parisc parisc: Add missing RCU idle APIs on idle loop 2012-09-23 07:44:49 -07:00
powerpc powerpc: Don't use __put_user() in patch_instruction 2012-09-05 16:05:23 +10:00
s390 s390/32: Don't clobber personality flags on exec 2012-08-30 16:28:07 +02:00
score score: Add missing RCU idle APIs on idle loop 2012-09-23 07:44:50 -07:00
sh Merge branches 'sh/urgent' and 'sh/gpiolib' into sh-latest 2012-08-09 13:21:13 +09:00
sparc sparc64: Be less verbose during vmemmap population. 2012-08-15 00:37:29 -07:00
tile memcg: rename config variables 2012-07-31 18:42:43 -07:00
um uml: fix compile error in deliver_alarm() 2012-09-05 19:40:59 -07:00
unicore32 PCI changes for the 3.6 merge window: 2012-07-24 16:17:07 -07:00
x86 Bug-fixes: 2012-09-06 17:16:42 -07:00
xtensa xtensa: select generic atomic64_t support 2012-07-31 18:42:39 -07:00
.gitignore
Kconfig ipc: use Kconfig options for __ARCH_WANT_[COMPAT_]IPC_PARSE_VERSION 2012-07-30 17:25:21 -07:00