lkml.org 
[lkml]   [2018]   [May]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] perf annotate: Display multiple events for --stdio
From
Date


On 5/10/2018 12:42 AM, Arnaldo Carvalho de Melo wrote:
> Em Wed, May 09, 2018 at 11:57:15PM +0800, Jin Yao escreveu:
>> When we perform following command lines:
>>
>> perf record -e "{cycles,branches}" ./div
>> perf annotate main --stdio
>>
>> Only shows one event "cycles" and the displaying format is not correct.
>>
>> Percent | Source code & Disassembly of div for cycles (44550 samples)
>> -----------------------------------------------------------------------------------
>
> Please indent command output (two spaces before all lines) to avoid
> scripts breaking due to mistaking lines starting with --- as the end of
> the patch.
>
> Applying.
>
> - Arnaldo
>

Breaking the scripts? Oh, very sorry about that, I will be careful next
time.

Thanks
Jin Yao

>> :
>> :
>> :
>> : Disassembly of section .text:
>> :
>> : 00000000004004b0 <main>:
>> : main():
>> :
>> : return i;
>> : }
>> :
>> : int main(void)
>> : {
>> 0.00 : 4004b0: push %rbx
>> : int i;
>> : int flag;
>> : volatile double x = 1212121212, y = 121212;
>> :
>> : s_randseed = time(0);
>> 0.00 : 4004b1: xor %edi,%edi
>> : srand(s_randseed);
>> 0.00 : 4004b3: mov $0x77359400,%ebx
>> :
>> : return i;
>> : }
>> :
>>
>> The issue is the value of nr_percent is hardcoded to 1.
>> This patch fixes it.
>>
>> With this patch, the output is:
>>
>> Percent | Source code & Disassembly of div for cycles (44550 samples)
>> -----------------------------------------------------------------------------------
>> :
>> :
>> :
>> : Disassembly of section .text:
>> :
>> : 00000000004004b0 <main>:
>> : main():
>> :
>> : return i;
>> : }
>> :
>> : int main(void)
>> : {
>> 0.00 0.00 : 4004b0: push %rbx
>> : int i;
>> : int flag;
>> : volatile double x = 1212121212, y = 121212;
>> :
>> : s_randseed = time(0);
>> 0.00 0.00 : 4004b1: xor %edi,%edi
>> : srand(s_randseed);
>> 0.00 0.00 : 4004b3: mov $0x77359400,%ebx
>> :
>> : return i;
>> : }
>>
>> Signed-off-by: Jin Yao <yao.jin@linux.intel.com>
>> ---
>> tools/perf/util/annotate.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
>> index 536ee14..5d74a30 100644
>> --- a/tools/perf/util/annotate.c
>> +++ b/tools/perf/util/annotate.c
>> @@ -1263,6 +1263,9 @@ annotation_line__print(struct annotation_line *al, struct symbol *sym, u64 start
>> max_percent = sample->percent;
>> }
>>
>> + if (al->samples_nr > nr_percent)
>> + nr_percent = al->samples_nr;
>> +
>> if (max_percent < min_pcnt)
>> return -1;
>>
>> --
>> 2.7.4

\
 
 \ /
  Last update: 2018-05-10 02:30    [W:0.057 / U:0.144 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site