Messages in this thread | | | Date | Fri, 15 Jul 2011 16:32:03 -0700 | From | "Paul E. McKenney" <> | Subject | Re: [PATCH 0/3] rcu: Fix some rcu uses in extended quiescent state |
| |
On Mon, Jul 11, 2011 at 10:34:29PM +0200, Frederic Weisbecker wrote: > Hi, > > First patch lays the ground to fix rcu uses in dyntick idle mode > by splitting rcu extended qs state logic from tick nohz one. > > The rest fixes the misuses that RCU has detected for me in x86.
These look good to me -- I have queued them and will try testing them out.
> I'll try to fix those Paul has detected in PowerPc.
Looking forward to that one as well. ;-)
It would be really cool if this approach could serve as RCU's idle-CPU detection regardless of whether or not CONFIG_NO_HZ was set. For one thing, this would simplify the RCU code that treats idle tasks as extended quiescent states. Except during boot time. :-/
Thanx, Paul
> Frederic Weisbecker (3): > nohz: Split extended quiescent state handling from nohz switch > x86: Enter rcu extended qs after idle notifier call > x86: Call idle notifier after irq_enter() > > 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 | 2 +- > 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 | 5 ++++ > include/linux/tick.h | 10 +++++-- > kernel/time/tick-sched.c | 36 ++++++++++++++++++++++++++--- > 23 files changed, 83 insertions(+), 46 deletions(-) > > -- > 1.7.5.4 >
| |