Messages in this thread | | | Date | Fri, 7 Oct 2011 16:32:35 -0700 | From | "Paul E. McKenney" <> | Subject | Re: [PATCH 00/11] rcu: Detect illegal uses of RCU in idle and fix some v5 |
| |
On Fri, Oct 07, 2011 at 06:21:59PM +0200, Frederic Weisbecker wrote: > Hi Paul, > > Here is the rebase. And it's more than just a rebase given the > semantical changes after your patch that tracks idleness. And also > because of the new API naming (with a new pair of tick_nohz_idle_enter() > tick_nohz_idle_exit() with *_norcu suffixes). > > I have reused and updated some comments (that you made on earlier > versions of my patchset) that assumed that extended qs = dynticks > idle, as it's not always true anymore. I've tried to bring a new > wording to express what we are dealing with: "RCU-free window in idle" > or "RCU-idle window". I let you update the comments if you think > that's confusing or too scarce. > > It has passed several hours of rcutorture with NO_HZ && SMP, and at least > booted fine with all your configs.
Thank you, Frederic! I have queued these locally and will start testing them.
Thanx, Paul
> Frederic Weisbecker (9): > rcu: Detect illegal rcu dereference in extended quiescent state > rcu: Inform the user about extended quiescent state on PROVE_RCU warning > rcu: Warn when rcu_read_lock() is used in extended quiescent state > rcu: Make srcu_read_lock_held() call common lockdep-enabled function > 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_idle_enter() > > Paul E. McKenney (2): > rcu: Remove one layer of abstraction from PROVE_RCU checking > rcu: Warn when srcu_read_lock() is used in an extended quiescent state > > 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/openrisc/kernel/idle.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/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 | 10 +++- > include/linux/rcupdate.h | 74 +++++++++++++++-------- > include/linux/srcu.h | 38 ++++++++---- > include/linux/tick.h | 52 ++++++++++++++-- > kernel/lockdep.c | 22 +++++++ > kernel/rcupdate.c | 4 + > kernel/rcutiny.c | 1 + > kernel/rcutree.c | 19 +++++- > kernel/softirq.c | 4 +- > kernel/time/tick-sched.c | 96 ++++++++++++++++++----------- > 30 files changed, 273 insertions(+), 129 deletions(-) > > -- > 1.7.5.4 >
| |