[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20131210163925.6f5ecad1@gandalf.local.home>
Date: Tue, 10 Dec 2013 16:39:25 -0500
From: Steven Rostedt <rostedt@...dmis.org>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: Darren Hart <dvhart@...ux.intel.com>,
Dave Jones <davej@...hat.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Andrea Arcangeli <aarcange@...hat.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Peter Zijlstra <peterz@...radead.org>,
Mel Gorman <mgorman@...e.de>, Oleg Nesterov <oleg@...hat.com>
Subject: Re: process 'stuck' at exit.
On Tue, 10 Dec 2013 22:28:01 +0100 (CET)
Thomas Gleixner <tglx@...utronix.de> 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists