Re: [PATCH 00/11] rcu: Detect illegal uses of RCU in idle and fixsome v5

From: Paul E. McKenney
Date: Fri Oct 07 2011 - 19:32:40 EST


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