Re: [PATCH 0/3] rcu: Fix some rcu uses in extended quiescent state

From: Frederic Weisbecker
Date: Fri Jul 15 2011 - 19:42:08 EST


On Fri, Jul 15, 2011 at 04:32:03PM -0700, Paul E. McKenney wrote:
> 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. :-/

For that we could just build rcu_enter_nohz() things on CONFIG_NO_HZ || CONFIG_PROVE_RCU.

>
> 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
> >
--
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/