From: Frederic Weisbecker <fweisbec@gmail.com>
To: Akihiro Nagai <akihiro.nagai.hw@hitachi.com>
Cc: Arnaldo Carvalho de Melo <acme@infradead.org>,
Ingo Molnar <mingo@elte.hu>,
Peter Zijlstra <peterz@infradead.org>,
linux-kernel@vger.kernel.org,
Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
2nddept-manager@sdl.hitachi.co.jp,
David Ahern <daahern@cisco.com>
Subject: Re: [PATCH -tip v3 0/6] perf: Introduce branch sub commands
Date: Fri, 1 Apr 2011 14:51:39 +0200 [thread overview]
Message-ID: <20110401125129.GA2335@nowhere> (raw)
In-Reply-To: <4D95AF81.5050306@hitachi.com>
On Fri, Apr 01, 2011 at 07:57:05PM +0900, Akihiro Nagai wrote:
> (2011/03/30 23:46), Frederic Weisbecker wrote:
> <snip>
> >>'perf branch trace' can parse and analyze recorded BTS log and print various
> >>information of execution path. This command can show address, pid, command name,
> >>function+offset, file path of elf.
> >>You can choose the printed information with option.
> >>
> >>Example: 'perf branch trace'
> >>function+offset
> >>irq_return+0x0 => _start+0x0
> >>irq_return+0x0 => _start+0x0
> >>_start+0x3 => _dl_start+0x0
> >>irq_return+0x0 => _dl_start+0x0
> >>irq_return+0x0 => _dl_start+0x26
> >>irq_return+0x0 => _dl_start+0x2d
> >
> >These results are a bit surprising. May be we can
> >jump once from irq_return to _start, in the first schedule()
> >of a new task perhaps, but thereafter I would expect
> >further jumps not to happen from irq_return, but rather
> >from _start. When we have x as a destination in line n, then
> >I would expect to have x as a source in n + 1.
> Agree with the opinion "irq_start" surprising users.
> However, I think it is not a better solution that uses a
> previous destination as a next source.
> Because, users want to know what happen in userspace and,
> do not want to know interrupts from kernel.
>
> I think the better solution is to implement the filter that
> eliminate the record including kernel functions from output.
Yep.
> For example, leading example will be filtered like this.
>
> _start+0x3 => _dl_start+0x0
>
> In the future, I think the solution is available that using BTS records
> with trace event like irq:irq_handler_entry to analyze interrupt.
> However, to do it, we need to fix perf.
Right.
> >
> >Also we are supposed to only trace BTS in userspace, but
> >perhaps, if we are interrupted, after the execution of the iret instruction,
> >BTS considers the following jump "iret -> interrupted inst" as a branch
> >in userspace. After all it makes sense, it is a jump in userspace.
> >
> >So BTS, because of the way it defines a jump inside userspace,
> >traces irq returns but not irq entries, that would explain the trace
> >you gave as an example.
> >
> >I suspect we want to filter irq returns. ie: if the source comes
> >from the kernel, then filter it by default. And then we can later
> >think about an option to enable interrupt return tracing if
> >people want them.
> Agree.
> I will implement the option that enable/disable the filter.
Cool, thanks!
next prev parent reply other threads:[~2011-04-01 12:51 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-24 11:31 [PATCH -tip v3 0/6] perf: Introduce branch sub commands Akihiro Nagai
2011-03-24 11:31 ` [PATCH -tip v3 1/6] perf: new subcommand perf branch record Akihiro Nagai
2011-03-24 11:32 ` [PATCH -tip v3 2/6] perf branch: Introduce new sub command 'perf branch trace' Akihiro Nagai
2011-03-24 11:32 ` [PATCH -tip v3 3/6] perf branch trace: print pid and command Akihiro Nagai
2011-03-24 17:05 ` David Ahern
2011-03-25 10:14 ` Akihiro Nagai
2011-03-25 15:02 ` David Ahern
2011-03-28 10:34 ` Akihiro Nagai
2011-03-28 14:31 ` David Ahern
2011-04-01 15:13 ` Frederic Weisbecker
2011-04-01 15:15 ` Peter Zijlstra
2011-04-01 15:24 ` Arnaldo Carvalho de Melo
2011-04-01 17:11 ` David Ahern
2011-04-01 20:20 ` Peter Zijlstra
2011-04-06 12:15 ` Frederic Weisbecker
2011-04-06 14:09 ` Arnaldo Carvalho de Melo
2011-04-06 14:15 ` Peter Zijlstra
2011-04-06 14:30 ` Frederic Weisbecker
2011-04-06 14:34 ` David Ahern
2011-04-06 14:43 ` Frederic Weisbecker
2011-04-06 14:42 ` Frederic Weisbecker
2011-04-06 14:55 ` Frederic Weisbecker
2011-04-06 17:18 ` Arnaldo Carvalho de Melo
2011-04-04 10:00 ` Akihiro Nagai
2011-04-06 12:52 ` Frederic Weisbecker
2011-04-11 4:54 ` Akihiro Nagai
2011-03-24 11:32 ` [PATCH -tip v3 4/6] perf branch trace: print file path of the executed elf Akihiro Nagai
2011-03-24 11:32 ` [PATCH -tip v3 5/6] perf branch trace: print function+offset Akihiro Nagai
2011-03-24 11:32 ` [PATCH -tip v3 6/6] perf branch trace: add print all option Akihiro Nagai
2011-03-30 14:46 ` [PATCH -tip v3 0/6] perf: Introduce branch sub commands Frederic Weisbecker
2011-04-01 10:57 ` Akihiro Nagai
2011-04-01 12:51 ` Frederic Weisbecker [this message]
2011-04-01 14:43 ` Frederic Weisbecker
2011-04-04 10:06 ` Akihiro Nagai
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=20110401125129.GA2335@nowhere \
--to=fweisbec@gmail.com \
--cc=2nddept-manager@sdl.hitachi.co.jp \
--cc=acme@infradead.org \
--cc=akihiro.nagai.hw@hitachi.com \
--cc=daahern@cisco.com \
--cc=linux-kernel@vger.kernel.org \
--cc=masami.hiramatsu.pt@hitachi.com \
--cc=mingo@elte.hu \
--cc=peterz@infradead.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.