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] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 19 Jan 2016 17:00:34 -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,

So, it shows the overhead and the first of the sort keys, "comm", what
about the dso, how, from the following output, i.e. the initial screen
one gets from 'perf report --tui --hierarchy' we can switch to "dso",
i.e. the "Shared Object"?
 
>   $ 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

Powered by Openwall GNU/*/Linux Powered by OpenVZ