lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Tue, 19 Aug 2014 17:20:20 +0900
From:	Namhyung Kim <namhyung@...nel.org>
To:	Jiri Olsa <jolsa@...hat.com>
Cc:	Arnaldo Carvalho de Melo <acme@...nel.org>,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>,
	Ingo Molnar <mingo@...nel.org>,
	Paul Mackerras <paulus@...ba.org>,
	Namhyung Kim <namhyung.kim@....com>,
	LKML <linux-kernel@...r.kernel.org>,
	David Ahern <dsahern@...il.com>,
	Andi Kleen <andi@...stfloor.org>,
	Frederic Weisbecker <fweisbec@...il.com>,
	Arun Sharma <asharma@...com>,
	Rodrigo Campos <rodrigo@...g.com.ar>
Subject: Re: [PATCH 3/3] perf callchain: Prune misleading callchains for self entries

On Tue, 19 Aug 2014 09:10:24 +0200, Jiri Olsa wrote:
> On Tue, Aug 19, 2014 at 02:51:31PM +0900, Namhyung Kim wrote:
> SNIP
>
>> IMHO, it's harder to find out the right info.  Even if we might add
>> self/children tag to the callchains, I still think it'd be better just
>> to trim down irrelavant info from the output.
>> 
>> After applying this patch, it'll only show the callees of the symbol and
>> I think this is what most users expect to see:
>> 
>>   +   99.98%     0.00%  abc2     libc-2.17.so       [.] __libc_start_main
>>   -   79.75%    11.29%  abc2     abc2               [.] main
>>      - main
>>         + 38.01% a
>>         + 35.75% c
>>         + 26.22% b
>>   -   53.07%    52.99%  abc2     abc2               [.] c
>>      - c
>>         + 100.00% apic_timer_interrupt
>>   -   34.12%    28.75%  abc2     abc2               [.] b
>>      - b
>>           98.85% c
>>         + 1.15% apic_timer_interrupt
>>   -   30.56%     6.78%  abc2     abc2               [.] a
>>      - a
>>         + 69.15% c
>>         + 30.80% b
>>   +    0.17%     0.01%  abc2     [kernel.kallsyms]  [k] apic_timer_interrupt
>>   +    0.15%     0.00%  abc2     [kernel.kallsyms]  [k] smp_apic_timer_interrupt
>>   +    0.11%     0.00%  abc2     [kernel.kallsyms]  [k] hrtimer_interrupt
>> 
>> 
>> If you want to see the callers of 'c', you may go to above entries (main
>> and __libc_start_main in this case) and then follow the callchains.  If
>> it's not enough, you can re-run perf report with -g callee option.
>
> but only if you know who called them, like in this simple example

Nope.  The --children option tends to collect callers above a callee.
This is not guaranteed though, but for most cases it'll work.  If it's
not case, one can use -g callee.


>
> IMHO this part of callchain is not confusing enough to be cut,
> for me it's usefull info for which I'd need to make more steps
> to get it

Well, that might be true for this simple case, but I'm not sure for
large and complex data.  I'd really like to keep the code and the output
simpler, more consistent and more intuitive.


>
> anyway, this is from review point of view.. as a user I dont use
> '-g caller' often enough to actually care ;-)

Yeah, me too.  But with --children option, it becomes very powerful and
can give another viewpoint of the performance analysis IMHO.

Thanks,
Namhyung
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ