[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160119205941.GG27085@kernel.org>
Date: Tue, 19 Jan 2016 17:59:41 -0300
From: Arnaldo Carvalho de Melo <acme@...nel.org>
To: Namhyung Kim <namhyung@...nel.org>
Cc: Ingo Molnar <mingo@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
Jiri Olsa <jolsa@...nel.org>,
LKML <linux-kernel@...r.kernel.org>,
David Ahern <dsahern@...il.com>,
Stephane Eranian <eranian@...gle.com>,
Andi Kleen <andi@...stfloor.org>,
Wang Nan <wangnan0@...wei.com>,
Don Zickus <dzickus@...hat.com>,
Pekka Enberg <penberg@...nel.org>,
Moinuddin Quadri <moin18@...il.com>
Subject: Re: [RFC/PATCHSET 00/17] perf tools: Add support for hierachy view
(v2)
Em Sun, Jan 17, 2016 at 01:03:00AM +0900, Namhyung Kim escreveu:
> Hello,
>
> This is v2 attempt of my earlier patchset [1]. This patchset
> implements a new feature that collects hist entries in a hierachical
> manner. That means lower-level entries belong to an upper-level
> entry. The entry hierachy is built on the sort keys given, so users
> can set it whatever they want. It only shows top-level entries first,
> and user can expand/collapse it dynamically.
>
> This time I implemented it for every output browser including TUI.
> A screenshot on TUI looks like below:
>
> For normal output:
>
> $ perf report --tui
> Samples: 3K of event 'cycles:pp', Event count (approx.): 1695979674
> Overhead Command Shared Object Symbol
> ------------------------------------------------------------------------
> - 7.57% swapper [kernel.vmlinux] [k] intel_idle
> intel_idle
> cpuidle_enter_state
> cpuidle_enter
> call_cpuidle
> + cpu_startup_entry
> + 1.16 firefox firefox [.] 0x00000000000019433
> + 0.97% firefox libpthread-2.22.so [.] pthread_mutex_lock
> ...
>
>
> With hierarchy view,
Ok, tested, this is really nice, I think it should be the default, from
where to drill down, we could have a '--no-hierarchy', Ingo?
I'll took a quick look patch by patch, seems ok, will try to look deeper
to get this merged soon,
keep up the great work!
- Arnaldo
> $ perf report --tui --hierarchy
> Samples: 3K of event 'cycles:pp', Event count (approx.): 1695979674
> Overhead Command / Shared Object / Symbol
> -------------------------------------------------------------------
> + 76.30% firefox
> - 9.95% swapper
> - 9.51% [kernel.vmlinux]
> - 7.57 [k] intel_idle
> intel_idle
> cpuidle_enter_state
> cpuidle_enter
> call_cpuidle
> + cpu_startup_entry
> + 0.15% [k] __schedule
> + 0.12% [k] menu_select
> ...
> + 0.34% [sdhci]
> + 0.06% [e1000e]
> ...
> + 5.65% Xorg
> + 5.42% Socket Thread
> ...
>
> As you can see, overhead of an upper level entry is the sum of
> overhead of lower level entries. The entries are aligned by its order
> of matching sort keys.
>
> This is available from 'perf/hierarchy-v2' branch in my tree:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/namhyung-perf.git
>
>
> Any comments are welcome, thanks!
> Namhyung
>
>
> Cc: Don Zickus <dzickus@...hat.com>
> Cc: Pekka Enberg <penberg@...nel.org>
> Cc: Moinuddin Quadri <moin18@...il.com>
>
>
> [1] https://lkml.org/lkml/2013/5/21/24
>
>
> Namhyung Kim (17):
> perf hists: Basic support of hierarchical report view
> perf hists: Resort hist entries with hierarchy
> perf hists: Add helper functions for hierarchy mode
> perf hists: Cleanup filtering functions
> perf hists: Support filtering in hierarchy mode
> perf ui/stdio: Implement hierarchy output mode
> perf ui/stdio: Align column header for hierarchy output
> perf hists browser: Fix context menu item
> perf hists browser: Count number of hierarchy entries
> perf hists browser: Support collapsing/expanding whole entries in
> hierarchy
> perf hists browser: Factor out hist_browser__show_callchain()
> perf hists browser: Implement hierarchy output
> perf hists browser: Align column header in hierarchy mode
> perf ui/gtk: Implement hierarchy output mode
> perf report: Add --hierarchy option
> perf hists: Support decaying in hierarchy mode
> perf top: Add --hierarchy option
>
> tools/perf/Documentation/perf-report.txt | 3 +
> tools/perf/Documentation/perf-top.txt | 3 +
> tools/perf/Documentation/tips.txt | 1 +
> tools/perf/builtin-report.c | 17 +
> tools/perf/builtin-top.c | 15 +
> tools/perf/ui/browsers/hists.c | 590 ++++++++++++++++++++++++++-----
> tools/perf/ui/gtk/hists.c | 161 ++++++++-
> tools/perf/ui/hist.c | 14 +
> tools/perf/ui/stdio/hist.c | 182 +++++++++-
> tools/perf/util/hist.c | 470 ++++++++++++++++++++----
> tools/perf/util/hist.h | 11 +
> tools/perf/util/sort.c | 116 ++++++
> tools/perf/util/sort.h | 16 +-
> tools/perf/util/symbol.h | 3 +-
> 14 files changed, 1437 insertions(+), 165 deletions(-)
>
> --
> 2.6.4
Powered by blists - more mailing lists