Re: [PATCH v1 4/4] perf script: enable printing of branch stack

From: Stephane Eranian
Date: Wed Aug 19 2015 - 18:20:50 EST


On Wed, Aug 19, 2015 at 3:11 PM, Andi Kleen <ak@xxxxxxxxxxxxxxx> wrote:
> On Wed, Aug 19, 2015 at 10:38:26AM +0200, Stephane Eranian wrote:
>> This patch improves perf script by enabling printing of the
>> branch stack via the 'brstack' argument to the field selection
>> option -F. The option is off by default and operates only if the
>> perf.data file has branch stack content.
>
> Thanks that's very useful. I wanted that several times.
>>
>> +static void print_sample_brstack(union perf_event *event __maybe_unused,
>> + struct perf_sample *sample,
>> + struct thread *thread __maybe_unused,
>> + struct perf_event_attr *attr __maybe_unused)
>> +{
>> + struct branch_stack *br = sample->branch_stack;
>> + u64 i;
>> +
>> + if (!(br && br->nr))
>> + return;
>> +
>> + for (i = 0; i < br->nr; i++) {
>> + printf(" 0x%"PRIx64"/0x%"PRIx64" ", br->entries[i].from, br->entries[i].to);
>
> Should print the various flags too. Also tip just added cycles information.
>
Ok, I will add that in v2.

> Also it would be good to resolve the addresses to symbol + offset

But then, that becomes harder to post-process or even read with long
C++ signatures.

> (and perhaps have support for srcline too).
>
>
> -Andi
> --
> ak@xxxxxxxxxxxxxxx -- Speaking for myself only
--
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/