lkml.org 
[lkml]   [2011]   [Jul]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 0/3] rcu: Fix some rcu uses in extended quiescent state
On Sat, Jul 16, 2011 at 01:41:56AM +0200, Frederic Weisbecker wrote:
> 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.

Actually, it would be really cool if RCU could just rely on those
callbacks to detect idle regardless of the configuration. Might not
be practical, but it would be nice. ;-)

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@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/


\
 
 \ /
  Last update: 2011-07-28 22:59    [W:0.041 / U:0.480 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site