[PATCH 0/7 v4] rcu: Fix some rcu uses in extended quiescent state

From: Frederic Weisbecker
Date: Mon Sep 26 2011 - 06:19:24 EST


Hi Paul,

Two fixes added in that set, the first two patches:

- The check on uses under extended quiescent states was buggy
- One more illegal use of RCU fixed, from inside tick_nohz_stop_sched_tick()

It has survived one day and one night of rcutorture in x86-64
with periodic cpu hotplug onlining/offlining...

No test in powerpc yet though... So I don't know yet why
you got an rcutorture failure.

Frederic Weisbecker (7):
rcu: Fix preempt-unsafe debug check of rcu extended quiescent state
rcu: Fix early call to rcu_enter_nohz() on tick stopping
nohz: Separate out irq exit and idle loop dyntick logic
nohz: Allow rcu extended quiescent state handling seperately from
tick stop
x86: Enter rcu extended qs after idle notifier call
x86: Call idle notifier after irq_enter()
rcu: Fix early call to rcu_irq_exit()

arch/arm/kernel/process.c | 4 +-
arch/avr32/kernel/process.c | 4 +-
arch/blackfin/kernel/process.c | 4 +-
arch/microblaze/kernel/process.c | 4 +-
arch/mips/kernel/process.c | 4 +-
arch/powerpc/kernel/idle.c | 4 +-
arch/powerpc/platforms/iseries/setup.c | 8 +-
arch/s390/kernel/process.c | 4 +-
arch/sh/kernel/idle.c | 4 +-
arch/sparc/kernel/process_64.c | 4 +-
arch/tile/kernel/process.c | 4 +-
arch/um/kernel/process.c | 4 +-
arch/unicore32/kernel/process.c | 4 +-
arch/x86/kernel/apic/apic.c | 6 +-
arch/x86/kernel/apic/io_apic.c | 2 +-
arch/x86/kernel/cpu/mcheck/mce.c | 2 +-
arch/x86/kernel/cpu/mcheck/therm_throt.c | 2 +-
arch/x86/kernel/cpu/mcheck/threshold.c | 2 +-
arch/x86/kernel/irq.c | 6 +-
arch/x86/kernel/process_32.c | 4 +-
arch/x86/kernel/process_64.c | 9 ++-
include/linux/tick.h | 12 ++-
kernel/rcutree.c | 10 ++-
kernel/softirq.c | 4 +-
kernel/time/tick-sched.c | 120 +++++++++++++++++++++---------
25 files changed, 147 insertions(+), 88 deletions(-)

--
1.7.5.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/