Messages in this thread | | | Date | Tue, 7 Oct 2014 17:24:12 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH V5 11/16] perf, core: Pass perf_sample_data to perf_callchain() |
| |
I think you're going to have to stop using outlook or whatnot, this is horrible.
On Tue, Oct 07, 2014 at 03:00:00AM +0000, Liang, Kan wrote: > > -----Original Message----- > > From: Peter Zijlstra [mailto:peterz@infradead.org]
> > So I don't like this. Why not use the regular PERF_SAMPLE_BRANCH_STACK > > output to generate the stuff from? We already have two different means, > > with different transport, for callchains anyhow, so a third really won't matter. > > I'm not sure what you mean by using the regular > PERF_SAMPLE_BRANCH_STACK output to generate the stuff from. But we > don't need to modify various architectures' perf_callchain_user, if > that's your concern. An alternative way is to generate the callchain > output in a higher level, like perf_callchain. If there is no frame > pointer, the entry->nr will be set to MAX+1. So the perf_callchain > knows that we need to try LBR callstack if possible. In > perf_callchain, it resets entry->nr to old value, and call > perf_callchain_lbr_callstack to check and fill the callchain struct if > possible. The patch is as below.
Please instruct your MUA to wrap at 78 chars.
What I meant was: why can't we use the regular PERF_SAMPLE_BRANCH_STACK output to generate user traces from?
PERF_SAMPLE_BRANCH_STACK is the 'normal' LBR output format. Clobbering the callstack output is bad.
> What do you think?
I think it still sucks.. you're still clobbering potentially more useful data.
| |