Re: [PATCHSET 00/10] perf tools: Apply percent-limit to callchains (v2)

From: Namhyung Kim
Date: Thu Jan 28 2016 - 05:14:42 EST


On Thu, Jan 28, 2016 at 5:16 PM, Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
> On Thu, Jan 28, 2016 at 12:40:47AM +0900, Namhyung Kim wrote:
>> Hello,
>>
>> This patchset tries to implement percent limit to callchains which was
>> requested by Andi Kleen. For some reason, limiting callchains by
>> (overhead) percentage didn't work well. This patch fixes it and make
>> --percent-limit also works for callchains as well as hist entries.
>>
>> * Changes from v1)
>> - fix insertion path instead of changing all UI code
>> - show percent value even on single path (if needed)
>> - change default callchain percent limit
>>
>> This is available on 'perf/callchain-limit-v2' branch in my tree:
>>
>> git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git
>>
>> Any comments are welcome,
>>
>> Thanks,
>> Namhyung
>> *** BLURB HERE ***
>>
>> Namhyung Kim (10):
>> perf hists: Fix min callchain hits calculation
>> perf hists: Update hists' total period when adding entries
>> perf report: Apply --percent-limit to callchains also
>> perf report: Get rid of hist_entry__callchain_fprintf()
>> perf tools: Pass parent_samples to __callchain__fprintf_graph()
>> perf report: Fix percent display in callchains on --stdio
>> perf hists browser: Fix dump to show correct callchain style
>> perf hists browser: Pass parent_total to callchain print functions
>> perf hists browser: Fix percent display in callchains
>> perf tools: Change default calchain percent limit to 0.005%
>
> also I see extra fo entries with callchain filtered out in stdio mode
>
> jirka
>
>
> ---
> 8.41% yes libc-2.21.so [.] fputs_unlocked
> |
> ---fputs_unlocked
> |
> |--5.67%--0x757074756f206472
> |
> --2.74%--0x3ba8e0
> 0x21e000
>
> 2.47% yes yes [.] fputs_unlocked@plt
> |
> ---fputs_unlocked@plt
> 0x3ba8e0
> 0x21e000
>
> 0.12% yes [kernel.vmlinux] [k] vfs_write
>
> 0.09% yes libc-2.21.so [.] _IO_do_write@@GLIBC_2.2.5
>
> 0.08% yes [kernel.vmlinux] [k] entry_SYSCALL_64
>
> 0.07% yes [kernel.vmlinux] [k] fsnotify
>
> 0.06% yes [kernel.vmlinux] [k] sys_write
>

I guess it's same for other UI outputs too.

The default limit of hist entries is 0 so it basically shows all
entries. But default callchain limit is 0.5% so hist entries under
0.5% won't show callchains.

Thanks,
Namhyung