linux/arch/parisc/kernel
Frederic Weisbecker d2d41b722e parisc: Add missing RCU idle APIs on idle loop
commit fbe752188d upstream.

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 the parisc's idle loop.

Reported-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: James E.J. Bottomley <jejb@parisc-linux.org>
Cc: Helge Deller <deller@gmx.de>
Cc: Parisc <linux-parisc@vger.kernel.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-13 05:38:53 +09:00
..
.gitignore parisc: add arch/parisc/kernel/.gitignore 2008-10-10 16:32:28 +00:00
asm-offsets.c parisc: Use of align_frame provides stack frame. 2010-05-30 05:38:27 -04:00
binfmt_elf32.c [PATCH] remove unused ibcs2/PER_SVR4 in SET_PERSONALITY 2008-10-16 15:40:05 +02:00
cache.c Disintegrate asm/system.h for PA-RISC 2012-03-28 18:30:02 +01:00
drivers.c parisc: Add export.h to files needing EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:31:00 -04:00
entry.S PARISC: fix TLB fault path on PA2.0 narrow systems 2012-06-10 00:36:07 +09:00
firmware.c Disintegrate asm/system.h for PA-RISC 2012-03-28 18:30:02 +01:00
ftrace.c sched_clock: Add local_clock() API and improve documentation 2010-06-09 10:34:49 +02:00
hardware.c
head.S [PARISC] only make executable areas executable 2011-04-15 12:55:18 -05:00
hpmc.S parisc: export length of os_hpmc vector 2009-01-05 19:18:27 +00:00
init_task.c Rename .data.vmpages and .data.vm0.XXX to .data..vmpages and .data..vm0.XXX. 2010-03-03 11:26:00 +01:00
inventory.c Fix common misspellings 2011-03-31 11:26:23 -03:00
irq.c parisc: Use irq_to_desc() in show_interrupts() 2011-03-29 14:48:08 +02:00
Makefile parisc: add ftrace (function and graph tracer) functionality 2009-03-31 02:51:34 +00:00
module.c modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
pa7300lc.c
pacache.S [PARISC] fix crash in flush_icache_page_asm on PA1.1 2012-05-16 13:15:06 +01:00
parisc_ksyms.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
pci-dma.c parisc: Add export.h to files needing EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:31:00 -04:00
pci.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
pdc_chassis.c
pdc_cons.c parisc: move definition of PAGE0 to asm/page.h 2012-05-10 15:12:08 -07:00
perf_asm.S Revert "parisc: fix trivial section name warnings" 2008-06-13 10:49:45 -04:00
perf_images.h
perf.c parisc: remove big kernel lock 2010-10-16 22:43:08 +02:00
process.c parisc: Add missing RCU idle APIs on idle loop 2012-10-13 05:38:53 +09:00
processor.c parisc: processor.c, fix bloated stack frame 2009-07-03 03:34:11 +00:00
ptrace.c Disintegrate asm/system.h for PA-RISC 2012-03-28 18:30:02 +01:00
real2.S parisc: move pdc_result to real2.S 2008-10-10 16:32:28 +00:00
setup.c parisc: Add export.h to files needing EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:31:00 -04:00
signal.c Fix common misspellings 2011-03-31 11:26:23 -03:00
signal32.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
signal32.h
smp.c parisc/CPU hotplug: Add missing call to notify_cpu_starting() 2012-05-15 18:16:57 -07:00
stacktrace.c parisc: add LATENCYTOP_SUPPORT and CONFIG_STACKTRACE_SUPPORT 2009-03-31 02:51:34 +00:00
sys_parisc.c improve sys_newuname() for compat architectures 2010-03-12 15:52:32 -08:00
sys_parisc32.c [PARISC] wire up fanotify syscalls 2011-04-15 13:54:39 -05:00
sys32.h
syscall_table.S remove remaining references to nfsservctl 2011-08-29 16:31:59 -07:00
syscall.S Fix common misspellings 2011-03-31 11:26:23 -03:00
time.c parisc: move definition of PAGE0 to asm/page.h 2012-05-10 15:12:08 -07:00
topology.c parisc: Replace NR_CPUS in parisc code 2009-01-05 19:09:02 +00:00
traps.c Disintegrate asm/system.h for PA-RISC 2012-03-28 18:30:02 +01:00
unaligned.c arch/parisc: Removing undead ifdef CONFIG_PA20 2010-10-21 21:13:29 -04:00
unwind.c parisc: unwind - optimise linked-list searches for modules 2010-10-21 21:12:19 -04:00
vmlinux.lds.S PARISC: fix boot failure on 32-bit systems caused by branch stubs placed before .text 2012-06-10 00:36:07 +09:00