kernel-hacking-2024-linux-s.../tools/perf
Frederic Weisbecker a4fb581b15 perf tools: Bind callchains to the first sort dimension column
Currently, the callchains are displayed using a constant left
margin. So depending on the current sort dimension
configuration, callchains may appear to be well attached to the
first sort dimension column field which is mostly the case,
except when the first dimension of sorting is done by comm,
because these are right aligned.

This patch binds the callchain to the first letter in the first
column, whatever type of column it is (dso, comm, symbol).
Before:

     0.80%             perf  [k] __lock_acquire
             __lock_acquire
             lock_acquire
             |
             |--58.33%-- _spin_lock
             |          |
             |          |--28.57%-- inotify_should_send_event
             |          |          fsnotify
             |          |          __fsnotify_parent

After:

     0.80%             perf  [k] __lock_acquire
                       __lock_acquire
                       lock_acquire
                       |
                       |--58.33%-- _spin_lock
                       |          |
                       |          |--28.57%-- inotify_should_send_event
                       |          |          fsnotify
                       |          |          __fsnotify_parent

Also, for clarity, we don't put anymore the callchain as is but:

- If we have a top level ancestor in the callchain, start it
  with a first ascii hook.

  Before:

     0.80%             perf  [kernel]                        [k] __lock_acquire
                       __lock_acquire
                         lock_acquire
                       |
                       |--58.33%-- _spin_lock
                       |          |
                       |          |--28.57%-- inotify_should_send_event
                       |          |          fsnotify
                      [..]       [..]

   After:

     0.80%             perf  [kernel]                         [k] __lock_acquire
                       |
                       --- __lock_acquire
                           lock_acquire
                          |
                          |--58.33%-- _spin_lock
                          |          |
                          |          |--28.57%-- inotify_should_send_event
                          |          |          fsnotify
                         [..]       [..]

- Otherwise, if we have several top level ancestors, then
  display these like we did before:

       1.69%           Xorg
                       |
                       |--21.21%-- vread_hpet
                       |          0x7fffd85b46fc
                       |          0x7fffd85b494d
                       |          0x7f4fafb4e54d
                       |
                       |--15.15%-- exaOffscreenAlloc
                       |
                       |--9.09%-- I830WaitLpRing

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Anton Blanchard <anton@samba.org>
LKML-Reference: <1256246604-17156-2-git-send-email-fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-10-23 07:55:18 +02:00
..
Documentation perf timechart: Add a process filter 2009-10-20 07:55:50 +02:00
util perf tools: Bind callchains to the first sort dimension column 2009-10-23 07:55:18 +02:00
.gitignore perf tools: .gitignore += perf*.html 2009-09-24 14:01:22 +02:00
builtin-annotate.c perf annotate: Remove requirement of passing a symbol name 2009-10-20 21:12:58 +02:00
builtin-help.c perf: Enable more compiler warnings 2009-08-16 10:47:47 +02:00
builtin-list.c perf list: Fix large list output by using the pager 2009-08-13 09:05:48 +02:00
builtin-record.c perf tools: Introduce bitmask'ed additional headers 2009-10-19 09:26:35 +02:00
builtin-report.c perf tools: Bind callchains to the first sort dimension column 2009-10-23 07:55:18 +02:00
builtin-sched.c perf tools: Use kernel bitmap library 2009-10-19 09:26:34 +02:00
builtin-stat.c perf stat: Count branches first 2009-10-19 13:36:32 +02:00
builtin-timechart.c perf timechart: Add a process filter 2009-10-20 07:55:50 +02:00
builtin-top.c perf top: Fix symbol annotation 2009-10-20 21:12:59 +02:00
builtin-trace.c perf tools: Move dereference after NULL test 2009-10-17 09:29:10 +02:00
builtin.h perf: Add the timechart tool 2009-09-19 11:42:13 +02:00
command-list.txt perf: Add timechart help text and add timechart to "perf help" 2009-09-19 18:57:53 +02:00
CREDITS
design.txt perf_event: Provide vmalloc() based mmap() backing 2009-10-06 14:21:50 +02:00
Makefile perf tools: Add 'make DEBUG=1' to remove the -O6 cflag 2009-10-21 13:39:57 +02:00
perf.c perf tools: Do not manually count string lengths 2009-10-13 11:55:31 +02:00
perf.h perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00