[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160128122454.GA27446@danjae.kornet>
Date: Thu, 28 Jan 2016 21:24:54 +0900
From: Namhyung Kim <namhyung@...nel.org>
To: Jiri Olsa <jolsa@...hat.com>
Cc: Arnaldo Carvalho de Melo <acme@...nel.org>,
Ingo Molnar <mingo@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
Jiri Olsa <jolsa@...nel.org>,
LKML <linux-kernel@...r.kernel.org>,
Andi Kleen <andi@...stfloor.org>,
David Ahern <dsahern@...il.com>,
Frederic Weisbecker <fweisbec@...il.com>,
Wang Nan <wangnan0@...wei.com>
Subject: Re: [PATCHSET 00/10] perf tools: Apply percent-limit to callchains
(v2)
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@...nel.org> wrote:
> > > On Thu, Jan 28, 2016 at 5:16 PM, Jiri Olsa <jolsa@...hat.com> 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
>From 62ac44405797275aed35acb38cfe3d1afa6b709c Mon Sep 17 00:00:00 2001
From: Namhyung Kim <namhyung@...nel.org>
Date: Thu, 28 Jan 2016 21:18:53 +0900
Subject: [PATCH 11/10] perf report: Don't show blank lines if entry has no
callchain
When all callchains of a hist entry is percent-limited, do not add a
blank line at the end. It makes the entry look like it doesn't have
callchains.
Reported-by: Jiri Olsa <jolsa@...nel.org>
Signed-off-by: Namhyung Kim <namhyung@...nel.org>
---
tools/perf/ui/stdio/hist.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/tools/perf/ui/stdio/hist.c b/tools/perf/ui/stdio/hist.c
index 76ff46becac8..691e52ce7510 100644
--- a/tools/perf/ui/stdio/hist.c
+++ b/tools/perf/ui/stdio/hist.c
@@ -233,7 +233,10 @@ static size_t callchain__fprintf_graph(FILE *fp, struct rb_root *root,
ret += __callchain__fprintf_graph(fp, root, total_samples,
1, 1, left_margin);
- ret += fprintf(fp, "\n");
+ if (ret) {
+ /* do not add a blank line if it printed nothing */
+ ret += fprintf(fp, "\n");
+ }
return ret;
}
--
2.6.4
Powered by blists - more mailing lists