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

From: Namhyung Kim
Date: Thu Jan 28 2016 - 07:26:05 EST


On Thu, Jan 28, 2016 at 01:12:45PM +0100, Jiri Olsa wrote:
> On Thu, Jan 28, 2016 at 07:16:43PM +0900, Namhyung Kim wrote:
> > On Thu, Jan 28, 2016 at 7:14 PM, Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
> > > 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.
> >
> > Btw, I changed it to 0.005% in this patchset. Did you apply all the
> > patches and run 'perf report' with default value?
>
> yep, I had it and then reverted ;-) but I made typo
> in the previous email.. what I meant was:
>
> also I see extra LINE for entries... ;-)

Ah, so you meant the blank lines.. The fix would be like following