From: Ingo Molnar <mingo@elte.hu>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>, linux-kernel@vger.kernel.org
Subject: Re: BUG: Function graph tracer hang
Date: Wed, 29 Apr 2009 12:40:06 +0200 [thread overview]
Message-ID: <20090429104006.GE2373@elte.hu> (raw)
In-Reply-To: <alpine.DEB.2.00.0904281645020.8066@gandalf.stny.rr.com>
* Steven Rostedt <rostedt@goodmis.org> wrote:
>
> On Tue, 28 Apr 2009, Frederic Weisbecker wrote:
>
> >
> > Note that the branch profiler does that:
> >
> > ______f.miss_hit[______r]++;
> >
> > Which is a read + write on the cacheline.
> > If each "if" are profiled in the timer interrupt, we can
> > have the cachelines doing a ping-pong of dirtifying since the above
> > variable is shared.
> >
> > Then the timer interrupt becomes slower. The function graph tracer itself makes
> > it slower.
> > Moreover it is traced itself. So not only the "if" in code are traced, but also
> > each "if" processed by the function graph tracer on function calls and returns.
> >
> > Which means a fair amount of cacheline dirtifying.
> >
> > Then if the timer interrupt is slowed, and we have a lot of them (1000 Hz),
> > the system spends all of its time inside it.
> >
> > At least we need the branch tracing to be done per cpu, I guess.
>
> This can be done by basically reimplementing what percpu does.
> This is because the data is saved off in its own section at every
> if statement. We could copy that section per cpu and add code to
> the incrementors to add only to their own CPU buffers.
Why not just make these variables regular percpu constructs?
> This is low in my priority of things to do, but I'll at least add
> it to my "to do" list.
I think we should mark the branch tracer as CONFIG_BROKEN - there's
been too many problems with it. Thoughts?
Ingo
next prev parent reply other threads:[~2009-04-29 10:40 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-17 14:40 [PATCH v2 0/5] [GIT PULL] ftrace,tracing/events rebase updates Steven Rostedt
2009-04-17 14:40 ` [PATCH v2 1/5] ftrace: use module notifier for function tracer Steven Rostedt
2009-04-17 14:40 ` [PATCH v2 2/5] tracing/events: add startup tests for events Steven Rostedt
2009-04-17 14:40 ` [PATCH v2 3/5] tracing/events/ring-buffer: expose format of ring buffer headers to users Steven Rostedt
2009-04-17 14:40 ` [PATCH v2 4/5] tracing: add saved_cmdlines file to show cached task comms Steven Rostedt
2009-04-17 14:41 ` [PATCH v2 5/5] tracing/events: perform function tracing in event selftests Steven Rostedt
2009-04-17 15:11 ` [PATCH v2 0/5] [GIT PULL] ftrace,tracing/events rebase updates Ingo Molnar
2009-04-17 15:13 ` Ingo Molnar
2009-04-28 11:12 ` BUG: Function graph tracer hang Ingo Molnar
2009-04-28 20:32 ` Frederic Weisbecker
2009-04-28 20:47 ` Steven Rostedt
2009-04-29 10:40 ` Ingo Molnar [this message]
2009-04-29 12:24 ` Steven Rostedt
2009-05-03 9:02 ` 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=20090429104006.GE2373@elte.hu \
--to=mingo@elte.hu \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rostedt@goodmis.org \
/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.