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-next>] [day] [month] [year] [list]
Date:	Thu,  3 Mar 2016 01:12:00 +0900
From:	Namhyung Kim <namhyung@...nel.org>
To:	Arnaldo Carvalho de Melo <acme@...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>,
	Andi Kleen <andi@...stfloor.org>,
	Stephane Eranian <eranian@...gle.com>,
	Wang Nan <wangnan0@...wei.com>
Subject: [PATCHSET 0/8] perf tools: Support multiple keys in a single hierarchy level (v1)

Hello,

This implements what Arnaldo suggested in previous discussion of
hierarchy patchset [1].  Originally each level in a hierarchy can have
a single sort key in it, but with patches it's possible to have more
than one sort keys.  I added the struct perf_hpp_list_node and carry
it to group output formats (hpp_fmt) in a single level.

I used ':' character instead of '+' as suggested since the '+' was
also used to extend existing sort keys (like -s '+cpu').

Example below shows how 4 sort keys are used for 2 levels.  As you can
see, the first level shows pid and comm of previous (switched) task
and the second level shows pid and comm of next task.

  $ perf report --hierarchy -s prev_pid:prev_comm,next_pid:next_comm \
   --percent-limit 1 -i perf.data.sched
  ...
  #    Overhead  prev_pid+prev_comm / next_pid+next_comm
  # ...........  .......................................
  #
      22.36%     0  swapper/0
          9.48%     17773  transmission-gt
          5.25%     109  kworker/0:1H
          1.53%     6524  Xephyr
      21.39%     17773  transmission-gt
          9.52%     0  swapper/0
          9.04%     0  swapper/2
          1.78%     0  swapper/3


It's available on the 'perf/hierarchy-multi-v1' branch in my tree

  git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git


Any feedbacks are welcome

Thanks,
Namhyung


[1] https://lkml.org/lkml/2016/2/24/1041


Namhyung Kim (8):
  perf tools: Add level field to struct perf_hpp_fmt
  perf tools: Introduce perf_hpp__setup_hists_formats()
  perf tools: Use own hpp_list for hierarchy mode
  perf tools: Support multiple sort keys in a hierarchy
  perf tools: Fix indent for multiple hierarchy sort key
  perf report: Use hierarchy hpp list on stdio
  perf hists browser: Use hierarchy hpp list
  perf report: Use hierarchy hpp list on gtk

 tools/perf/ui/browsers/hists.c | 147 +++++++++++++++++++----------------
 tools/perf/ui/gtk/hists.c      |  73 +++++++++++-------
 tools/perf/ui/hist.c           |  67 ++++++++++++++++
 tools/perf/ui/stdio/hist.c     | 171 +++++++++++++++++++++--------------------
 tools/perf/util/hist.c         |  81 +++++++++++++------
 tools/perf/util/hist.h         |  12 +++
 tools/perf/util/sort.c         | 123 ++++++++++++++++++++---------
 tools/perf/util/sort.h         |   1 +
 8 files changed, 438 insertions(+), 237 deletions(-)

-- 
2.7.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ