lkml.org 
[lkml]   [2009]   [Mar]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH 0/5] [GIT PULL] updates for tip/tracing/ftrace
On Fri, Mar 20, 2009 at 08:27:21PM +0100, Ingo Molnar wrote:
>
> * Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:
>
> > On Fri, Mar 20, 2009 at 07:38:49PM +0100, Ingo Molnar wrote:
> > >
> > > * Ingo Molnar <mingo@elte.hu> 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);




\
 
 \ /
  Last update: 2009-03-20 20:49    [W:0.498 / U:0.712 seconds]
©2003-2011 Jasper Spaans. Advertise on this site