Re: [PATCH][GIT PULL] tracing: Fix compile issue for trace_sched_wakeup.c

Jason Baron
2010-10-22T14:38:14Z

On Fri, Oct 22, 2010 at 04:23:02PM +0200, Peter Zijlstra wrote:
> On Fri, 2010-10-22 at 10:13 -0400, Jason Baron wrote:
> > On Fri, Oct 22, 2010 at 10:14:31AM +0200, Peter Zijlstra wrote:
> > > On Thu, 2010-10-21 at 21:44 -0400, Jason Baron wrote:
> > >
> > > > I finally found that we actually continue to run after the above
> > > > apparent 'hang'. That is, we continue to make progress updating the jump
> > > > labels. And doing a dump of all the system tasks at the time of the hang
> > > > showed the processes in various places besides the stop machine threads.
> > > > Thus, I thought that perhaps, for some reason the stop machine threads
> > > > weren't being scheduled.
> > > >
> > > > Thus, I tried commenting out the special scheduling that is set up for
> > > > stop machine threads, and that fixed the hang. I haven't yet looked into
> > > > what might be going wrong with that scheduling...but maybe somebody else
> > > > knows...
> > >
> > > Hrmm, so are you saying rq->stop was runnable but not running?
> >
> > yes, that's what it seems like.
> >
> > >
> > > That would imply broken wakeup-preemption, does something like the below
> > > cure that?
> > >
> > >
> >
> > no still seeing the same hang with the below patch...also, as a data point I
> > backed out the patch that adds the stop_sched_class and that resolved the hang
> > as well - just as a data point.
>
> Weird... and there's no hotplugging happening, right?
>

don't think so.

> Can this be reproduced in qemu? I don't have a i386-smp machine around
> to use.
>

its actually an amd 64-bit system with a 32-bit install of f13...

> Could you trace the thing with all sched (except the sched_stat)
> tracepoints enabled? I think there's a sysrq key to dump the trace once
> the machine's stuck..
>

the current test is triguring this on boot testing enabling/disabling the
tracepoints...so it would be interesting to disable the boot test, and see if I
can re-produce it at run-time...which will make getting the trace much easier :)

-Jason