Re: [PATCH rcu/urgent 0/6] Fixes for RCU/scheduler/irq-threadstrainwreck

From: Paul E. McKenney
Date: Wed Jul 20 2011 - 15:01:52 EST


On Wed, Jul 20, 2011 at 08:52:58PM +0200, Peter Zijlstra wrote:
> On Wed, 2011-07-20 at 20:44 +0200, Ingo Molnar wrote:
> > * Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> wrote:
> >
> > > RCU boost is new and counts as strange for another few days at least.
> >
> > I'd rather prefer a oneliner patch that turns it off in the Kconfig
> > for now.
> >
> > We are awfully late in the -rc cycle and this diffstat:
> >
> > b/include/linux/sched.h | 3 ++
> > b/kernel/rcutree_plugin.h | 6 +++--
> > b/kernel/sched.c | 44 ++++++++++++++++++++++++++++++++++-----
> > b/kernel/signal.c | 19 +++++++++++------
> > b/kernel/softirq.c | 12 +++++++++-
> > kernel/rcutree_plugin.h | 51 +++++++++++++++++++++++++++++++++-------------
> > 6 files changed, 105 insertions(+), 30 deletions(-)
> >
> > looks very scary to me.
>
> A lot of that is also relevant to !BOOST.

Unfortunately, agreed. :-(

The expedited grace periods also cause rcu_read_unlock() to call
into the scheduler. This can interact badly with the recently
added RCU read-side critical sections in the scheduler that have
either the runqueue or the priority-inheritance locks held, especially
when interrupts occur towards the end of __rcu_read_unlock(). But
there are some failure cases that don't involve interrupts (though
I believe all of them involve RCU_BOOST).

That said, turning off RCU_BOOST would allow dropping this patches:

7765be2fec0f4 Fix RCU_BOOST race handling current->rcu_read_unlock_special



Thanx, Paul
--
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/