Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1265304

[PATCH v10 06/22] perf config: Document variables for 'annotate' section in man page

From Taeung Song <treeze.taeung@gmail.com>
Newsgroups linux.kernel
Subject [PATCH v10 06/22] perf config: Document variables for 'annotate' section in man page
Date 2015-11-09 03:50 +0100
Message-ID <qsKGR-em-7@gated-at.bofh.it> (permalink)
References <qsKxb-aS-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Explain 'annotate' section and its variables.

'hide_src_code', 'use_offset', 'jump_arrows' and 'show_nr_jumps'.

Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
---
 tools/perf/Documentation/perf-config.txt | 76 ++++++++++++++++++++++++++++++++
 1 file changed, 76 insertions(+)

diff --git a/tools/perf/Documentation/perf-config.txt b/tools/perf/Documentation/perf-config.txt
index ee98fca..11fd4b2 100644
--- a/tools/perf/Documentation/perf-config.txt
+++ b/tools/perf/Documentation/perf-config.txt
@@ -166,6 +166,82 @@ buildid.*::
 		cache location, or to disable it altogether. If you want to disable it,
 		set buildid.dir to /dev/null. The default is $HOME/.debug
 
+annotate.*::
+	There're options which work with a 'annotate' sub-command.
+	These are in control of addresses, jump function, source code
+	in lines of assembly code from a specific program.
+
+	annotate.hide_src_code::
+		If a program which is analyzed has source code,
+		this option lets 'annotate' print a list of assembly code with the source code.
+		For example, let's see a part of a program. There're four lines.
+		If this option is 'true', they can be printed
+		without source code from a program as below.
+
+		│        push   %rbp
+		│        mov    %rsp,%rbp
+		│        sub    $0x10,%rsp
+		│        mov    (%rdi),%rdx
+
+		But if this option is 'false', source code of the part
+		can be also printed as below.
+
+		│      struct rb_node *rb_next(const struct rb_node *node)
+		│      {
+		│        push   %rbp
+		│        mov    %rsp,%rbp
+		│        sub    $0x10,%rsp
+		│              struct rb_node *parent;
+		│
+		│              if (RB_EMPTY_NODE(node))
+		│        mov    (%rdi),%rdx
+		│              return n;
+
+        annotate.use_offset::
+		Basing on a first address of a loaded function, offset can be used.
+		Instead of using original addresses of assembly code,
+		addresses subtracted from a base address can be printed.
+		Let's illustrate a example.
+		If a base address is 0XFFFFFFFF81624d50 as below,
+
+		ffffffff81624d50 <load0>
+
+		a address on assembly code has a specific absolute address as below
+
+		ffffffff816250b8:│  mov    0x8(%r14),%rdi
+
+		but if use_offset is 'true', a address subtracted from a base address is printed.
+		The default is true. This option is only applied to TUI.
+
+		             368:│  mov    0x8(%r14),%rdi
+
+	annotate.jump_arrows::
+		There can be jump instruction among assembly code.
+		Depending on a boolean value of jump_arrows,
+		arrows can be printed or not which represent
+		where do the instruction jump into as below.
+
+		│     ┌──jmp    1333
+		│     │  xchg   %ax,%ax
+		│1330:│  mov    %r15,%r10
+		│1333:└─→cmp    %r15,%r14
+
+		If jump_arrow is 'false', the arrows isn't printed as below.
+
+		│      ↓ jmp    1333
+		│        xchg   %ax,%ax
+		│1330:   mov    %r15,%r10
+		│1333:   cmp    %r15,%r14
+
+        annotate.show_nr_jumps::
+		Let's see a part of assembly code.
+
+		│1382:   movb   $0x1,-0x270(%rbp)
+
+		If use this, the number of branches branching to that address can be printed as below.
+
+		│1 1382:   movb   $0x1,-0x270(%rbp)
+
 SEE ALSO
 --------
 linkperf:perf[1]
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v10 00/22] perf tools: Add 'perf-config' command Taeung Song <treeze.taeung@gmail.com> - 2015-11-09 03:40 +0100
  [PATCH v10 07/22] perf config: Document variables for 'help' section in man page Taeung Song <treeze.taeung@gmail.com> - 2015-11-09 03:40 +0100
  [PATCH v10 04/22] perf config: Document variables for 'tui' and 'gtk' sections in man page Taeung Song <treeze.taeung@gmail.com> - 2015-11-09 03:40 +0100
  [PATCH v10 13/22] perf config: Document 'man.viewer' variable in man page Taeung Song <treeze.taeung@gmail.com> - 2015-11-09 03:40 +0100
  [PATCH v10 20/22] perf config: Add 'set' feature Taeung Song <treeze.taeung@gmail.com> - 2015-11-09 03:40 +0100
  [PATCH v10 08/22] perf config: Document 'hist.percentage' variable in man page Taeung Song <treeze.taeung@gmail.com> - 2015-11-09 03:40 +0100
  [PATCH v10 19/22] perf config: Add 'get' functionaliy Taeung Song <treeze.taeung@gmail.com> - 2015-11-09 03:40 +0100
  [PATCH v10 03/22] perf config: Document variables for 'color' section in man page Taeung Song <treeze.taeung@gmail.com> - 2015-11-09 03:40 +0100
  [PATCH v10 01/22] perf tools: Add 'perf-config' command Taeung Song <treeze.taeung@gmail.com> - 2015-11-09 03:40 +0100
    Re: [PATCH v10 01/22] perf tools: Add 'perf-config' command Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-11-09 15:00 +0100
      Re: [PATCH v10 01/22] perf tools: Add 'perf-config' command Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-11-09 15:10 +0100
  [PATCH v10 16/22] perf config: Add '--system' and '--user' options to select which config file is used Taeung Song <treeze.taeung@gmail.com> - 2015-11-09 03:40 +0100
  [PATCH v10 02/22] perf tools: Add perf-config document Taeung Song <treeze.taeung@gmail.com> - 2015-11-09 03:40 +0100
  [PATCH v10 09/22] perf config: Document 'ui.show-headers' variable in man page Taeung Song <treeze.taeung@gmail.com> - 2015-11-09 03:50 +0100
  [PATCH v10 06/22] perf config: Document variables for 'annotate' section in man page Taeung Song <treeze.taeung@gmail.com> - 2015-11-09 03:50 +0100
  [PATCH v10 11/22] perf config: Document variables for 'report' section in man page Taeung Song <treeze.taeung@gmail.com> - 2015-11-09 03:50 +0100

csiph-web