Re: process 'stuck' at exit.

From: Steven Rostedt
Date: Tue Dec 10 2013 - 16:39:33 EST


On Tue, 10 Dec 2013 22:28:01 +0100 (CET)
Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:

> On Tue, 10 Dec 2013, Darren Hart wrote:
> > On Tue, 2013-12-10 at 15:55 -0500, Dave Jones wrote:
> > > On Tue, Dec 10, 2013 at 09:34:24PM +0100, Thomas Gleixner wrote:
> > >
> > > > > > PS: Oleg - the whole thread is on lkml. Ping me if you need more context.
> > > > >
> > > > > btw, I've left the machine in that state, and will for as long as necesary
> > > > > in case someone has any ideas for further tracing experiments.
> > > >
> > > > Can you gather a trace with the function tracer? That will tell us
> > > > what the thing is actually doing.
> > >
> > > Feed me command lines, and I'll see what I can do.
> > >
> > > Dave
> > >
> >
> > So let's see if we can determine the call chain inside futex_requeue, if
> > there is one. We want to see if we are calling the following functions:
> >
> > futex.c: free_pi_state
> > futex.c: get_futex_value_locked
> > futex.c: futex_proxy_trylock_atomic
> > futex.c: lookup_pi_state
> > futex.c: fault_in_user_writeable
> >
> > I'm hoping we can make use of ftrace here?
> >
> > Consider:
> >
> > $ trace-cmd record -P <PID> -p function -l '*futex*'

Note the above just picks functions that have "futex" in its name, and
will not include all the functions you listed above.

> >
> > And to try outside of futex:
> >
> > $ trace-cmd record -P <PID> -p function
> >
> > Then ^C after a few seconds. The trace will be in trace.dat
>
> We definitely want the latter. The futex code gets compiled into some
> badly traceable mess.

Yeah, lets use all functions. If its in a loop, we should see exactly
what is happening, with full function tracing.

You may be able to simplify it to just:

trace-cmd record -p function sleep 10

and then read the trace. Nasty loopers usually dominate these types of
traces so no need to filter on them in the recording.

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