Re: [RFC/PATCHSET 00/15] perf report: Add support to accumulate histperiods
From: Frederic Weisbecker
Date: Fri Sep 28 2012 - 11:27:51 EST
On Fri, Sep 28, 2012 at 02:49:55PM +0900, Namhyung Kim wrote:
> Hi Frederic,
>
> On Fri, 28 Sep 2012 01:01:48 +0200, Frederic Weisbecker wrote:
> > When Arun was working on this, I asked him to explore if it could make sense to reuse
> > the "-b, --branch-stack" perf report option. Because after all, this feature is doing
> > about the same than "-b" except it's using callchains instead of full branch tracing.
> > But callchains are branches. Just a limited subset of all branches taken on excecution.
> > So you can probably reuse some interface and even ground code there.
> >
> > What do you think?
>
> Umm.. first of all, I'm not familiar with the branch stack thing. It's
> intel-specific, right?
>
> Also I don't understand what exactly you want here. What kind of
> interface did you say? Can you elaborate it bit more?
Look at commit b50311dc2ac1c04ad19163c2359910b25e16caf6
"perf report: Add support for taken branch sampling". It's doing almost
the same than you do, just using PERF_SAMPLE_BRANCH_STACK instead of
callchains.
> And AFAIK branch stack can collect much more branch information than
> just callstacks.
That's not a problem. Callchains are just a high-level filtered source of
branch samples. You don't need full branches to use "-b". Just use the flavour
of branch samples you want to make the sense you want on your branch sampling.
> Can we differentiate which is which easily?
Sure. If you have both sources in your perf.data (PERF_SAMPLE_BRANCH_STACK and
callchains), ask the user which one he wants. Otherwise defaults to what's there.
> Is there
> any limitation on using it? What if callstacks are not sync'ed with
> branch stacks - is it possible though?
It' better to make both sources mutually exclusive. Otherwise it's going
to be over-complicated.
>
> But I think it'd be good if the branch stack can be changed to call
> stack in general. Did you mean this?
That's a different. We might be able to post-process branch tracing and
build a callchain on top of it (following calls and ret). May be we will
one day. But they are different issues altogether.
Thanks.
--
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/