Re: [PATCH 0/5] [GIT PULL] updates for tip/tracing/ftrace

From: Frederic Weisbecker
Date: Fri Mar 20 2009 - 16:49:08 EST


On Fri, Mar 20, 2009 at 08:54:14PM +0100, Ingo Molnar wrote:
>
> * Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:
>
> > On Fri, Mar 20, 2009 at 08:27:21PM +0100, Ingo Molnar wrote:
> > >
> > > * Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> wrote:
> > >
> > > > On Fri, Mar 20, 2009 at 07:38:49PM +0100, Ingo Molnar wrote:
> > > > >
> > > > > * Ingo Molnar <mingo@xxxxxxx> wrote:
> > > > >
> > > > > > > > This looks like it is RCU/stop_machine related. The CPU is
> > > > > > > > stuck in in stop_machine? I see that rcu_torture is running.
> > > > > > > > Does this go away if you turn off rcu_torture?
> > > > > > >
> > > > > > > Grasping at straws... Does Lai's rcu_barrier() fix help?
> > > > > >
> > > > > > which one is that?
> > > > >
> > > > > ok, found it. Will know in about ~24 hours whether it helps.
> > > >
> > > > http://lkml.org/lkml/2009/3/20/71 was the one I was thinking of,
> > > > just to double-check.
> > >
> > > Yeah - i just picked it up into tip:core/rcu.
> > >
> > > I didnt immediately connect the two things, as 'tracer self-test'
> > > does not lend itself to 'CPU hotplug and RCU race fix' - but indeed
> > > in the case of the function tracer there's a dependency due to
> > > stop_machine_run(). Thanks for point it out!
> > >
> > > Ingo
> >
> >
> > I've successfully triggered a crash, the problem is that I can't be sure this is
> > the same because I don't have a serial line on my x86-64, and the trace goes too far.
> > Moreover boot_delay=N make it disappear.
> >
> > I can trigger it each time I boot with ftrace=function_graph and
> > the following patch applied:
> >
> > diff --git a/kernel/rcutorture.c b/kernel/rcutorture.c
> > index 7c4142a..e9914a8 100644
> > --- a/kernel/rcutorture.c
> > +++ b/kernel/rcutorture.c
> > @@ -616,7 +616,7 @@ rcu_torture_writer(void *arg)
> > static DEFINE_RCU_RANDOM(rand);
> >
> > VERBOSE_PRINTK_STRING("rcu_torture_writer task started");
> > - set_user_nice(current, 19);
> > + set_user_nice(current, -1);
> >
> > do {
> > schedule_timeout_uninterruptible(1);
> > @@ -736,7 +736,7 @@ rcu_torture_reader(void *arg)
> > struct timer_list t;
> >
> > VERBOSE_PRINTK_STRING("rcu_torture_reader task started");
> > - set_user_nice(current, 19);
> > + set_user_nice(current, -1);
> > if (irqreader && cur_ops->irqcapable)
> > setup_timer_on_stack(&t, rcu_torture_timer, 0);
>
> i dont have a reproducer right now. Can you trigger it with latest
> -tip, which has this commit included:
>
> 04cb9ac: rcu: rcu_barrier VS cpu_hotplug: Ensure callbacks in dead cpu are migrated to o
>
> ?
>
> Ingo


I tested three times the same things but with 04cb9ac and... it didn't triggered
anymore :-)

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