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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/