linux/arch/parisc/kernel
Frederic Weisbecker fbe752188d parisc: 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 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>
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:49 -07: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 TIF_RESTORE_SIGMASK can be set only when TIF_SIGPENDING is set 2012-06-01 12:58:50 -04: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 [PARISC] add back Crestone Peak cpu 2008-03-15 19:12:19 -07:00
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
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: Fix init_task fallout 2012-05-07 11:38:46 +02: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 [PARISC] update parisc to use generic strncpy_from_user() 2012-05-31 11:14:37 +01: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 parisc/PCI: factor out pcibios_setup() 2012-07-05 15:09:13 -06: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-09-23 07:44:49 -07: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
signal32.c most of set_current_blocked() callers want SIGKILL/SIGSTOP removed from set 2012-06-01 12:58:51 -04:00
signal32.h [PARISC] spelling fixes: arch/parisc/ 2007-05-22 22:52:16 -04:00
signal.c new helper: signal_delivered() 2012-06-01 12:58:52 -04:00
smp.c parisc: Smp: remove call to ipi_call_lock()/ipi_call_unlock() 2012-06-05 17:27:12 +02:00
stacktrace.c parisc: add LATENCYTOP_SUPPORT and CONFIG_STACKTRACE_SUPPORT 2009-03-31 02:51:34 +00:00
sys32.h
sys_parisc32.c [PARISC] wire up fanotify syscalls 2011-04-15 13:54:39 -05:00
sys_parisc.c [PARISC] fix personality flag check in copy_thread() 2012-08-03 11:25:12 +01:00
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-05-25 10:52:17 +01:00