From: Frederic Weisbecker <fweisbec@gmail.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: Steven Rostedt <rostedt@goodmis.org>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
LKML <linux-kernel@vger.kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Peter Zijlstra <peterz@infradead.org>
Subject: Re: [PATCH 0/5] [GIT PULL] updates for tip/tracing/ftrace
Date: Sat, 21 Mar 2009 21:46:58 +0100 [thread overview]
Message-ID: <20090321204657.GF5956@nowhere> (raw)
In-Reply-To: <20090321200955.GE5956@nowhere>
On Sat, Mar 21, 2009 at 09:09:56PM +0100, Frederic Weisbecker wrote:
> On Sat, Mar 21, 2009 at 07:18:58PM +0100, Ingo Molnar wrote:
> >
> > * Frederic Weisbecker <fweisbec@gmail.com> wrote:
> >
> > > > [<ffffffff8020c79d>] return_to_handler+0x0/0x73
> > > > [<ffffffff8029ea13>] rcu_pending+0x2c/0x5e
> > > > [<ffffffff8020c79d>] return_to_handler+0x0/0x73
> > > > [<ffffffff8026abef>] update_process_times+0x3c/0x77
> > > > [<ffffffff8020c79d>] return_to_handler+0x0/0x73
> > > > [<ffffffff802875dd>] tick_periodic+0x6e/0x70
> > >
> > >
> > > Still hanging in the timer interrupt.
> > > I guess it makes the timer interrupt servicing too slow and then
> > > once it is serviced, another one is raised.
> > >
> > > But the cause is perhaps more complex
> > >
> > > I think you have had too much hanging of this type. I'm preparing
> > > a fix that checks periodically if the function graph tracer is
> > > spending too much time in an interrupt.
> > >
> > > I guess I could count the number of function executed between the
> > > irq entry and its exit.
> > >
> > > That's the best: if we are hanging in an interrupt, it could be
> > > whatever interrupt and the jiffies could not be progressing so I
> > > can't rely on time but only on number of functions executed.
> > >
> > > May be 10000 calls is a good threshold before killing the function
> > > graph inside an interrupt?
> >
> > i think the problem isnt even the IRQ handler - but the fact that
> > the (timer) irq handler gets re-triggered - so all we do is
> > processing timer IRQs.
> >
> > Your patch would detect a timer IRQ hanging - but it would not
> > detect the 'system makes no progress because there's always anoter
> > pending timer IRQ to execute' situation.
>
>
> Ah, you're right.
>
>
> > So i think we need a "function trace watchdog" - which kills the
> > tracer if we do more than 100,000,000 entries since we started the
> > self-test, or so.
> >
> > Ingo
>
>
> The problem is that it can happen also on other contexts than selftests.
> For example with ftrace=function_graph or by simply enabling the tracer
> later.
>
> Sometimes it can happen during the selftests, sometimes it's only
> revealed by manually enabling it. I just remind another hang that
> you reported earlier and which I half-solved by fixing a pointless
> softirq call...
>
Well, ok let's do that, it will be a first and good stage on debugging
the graph hangs.
I will write this selftest watchdog and ftrace_dump() once we reach
100,000,000 entries.
It will be very helpful to know what really happens and what can be
optimized in this area.
Concerning this ftrace_dump(), I will tune it to let us decide if we want
to kill all tracing or not. For example, in case of a graph hang, we don't have
to bother about other tracers.
Thanks.
next prev parent reply other threads:[~2009-03-21 20:47 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-18 3:14 [PATCH 0/5] [GIT PULL] updates for tip/tracing/ftrace Steven Rostedt
2009-03-18 3:14 ` [PATCH 1/5] ring-buffer: add api to allow a tracer to change clock source Steven Rostedt
2009-03-18 3:14 ` [PATCH 2/5] tracing: add global-clock option to provide cross CPU clock to traces Steven Rostedt
2009-03-18 3:14 ` [PATCH 3/5] tracing: optimization of branch tracer Steven Rostedt
2009-03-18 3:14 ` [PATCH 4/5] tracing: make sched_switch stop/start light weight Steven Rostedt
2009-03-18 3:14 ` [PATCH 5/5] tracing: make power tracer start/stop methods lighter weight Steven Rostedt
2009-03-18 5:59 ` [PATCH 0/5] [GIT PULL] updates for tip/tracing/ftrace Ingo Molnar
2009-03-18 7:39 ` Ingo Molnar
2009-03-19 7:33 ` Ingo Molnar
2009-03-19 17:21 ` Steven Rostedt
2009-03-20 17:43 ` Paul E. McKenney
2009-03-20 18:36 ` Ingo Molnar
2009-03-20 18:38 ` Ingo Molnar
2009-03-20 19:19 ` Paul E. McKenney
2009-03-20 19:27 ` Ingo Molnar
2009-03-20 19:41 ` Paul E. McKenney
2009-03-20 19:46 ` Frederic Weisbecker
2009-03-20 19:54 ` Ingo Molnar
2009-03-20 20:48 ` Frederic Weisbecker
2009-03-20 21:05 ` Steven Rostedt
2009-03-21 10:01 ` Ingo Molnar
2009-03-21 16:58 ` Ingo Molnar
2009-03-21 17:25 ` Steven Rostedt
2009-03-21 19:07 ` Paul E. McKenney
2009-03-21 20:09 ` Ingo Molnar
2009-03-21 21:01 ` Paul E. McKenney
2009-03-22 14:24 ` Ingo Molnar
2009-03-22 15:06 ` Ingo Molnar
2009-03-22 17:02 ` Ingo Molnar
2009-03-22 18:33 ` Steven Rostedt
2009-03-22 19:52 ` Ingo Molnar
2009-03-23 18:44 ` Steven Rostedt
2009-03-21 17:32 ` Frederic Weisbecker
2009-03-21 17:44 ` Steven Rostedt
2009-03-21 17:53 ` Frederic Weisbecker
2009-03-21 18:17 ` Steven Rostedt
2009-03-21 20:03 ` Frederic Weisbecker
2009-03-21 18:18 ` Ingo Molnar
2009-03-21 20:09 ` Frederic Weisbecker
2009-03-21 20:46 ` Frederic Weisbecker [this message]
2009-03-22 19:41 ` Ingo Molnar
2009-03-22 20:41 ` Ingo Molnar
2009-03-20 21:39 ` Paul E. McKenney
2009-03-20 17:05 ` Frederic Weisbecker
2009-03-20 17:57 ` Frederic Weisbecker
2009-03-20 18:22 ` Steven Rostedt
2009-03-20 18:39 ` Frederic Weisbecker
2009-03-20 18:42 ` Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090321204657.GF5956@nowhere \
--to=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.