From: tip-bot for Taeung Song <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: treeze.taeung@gmail.com, namhyung@kernel.org, tglx@linutronix.de,
acme@redhat.com, linux-kernel@vger.kernel.org, mingo@kernel.org,
jolsa@kernel.org, hpa@zytor.com
Subject: [tip:perf/core] perf config: Document variables for 'annotate' section in man page
Date: Wed, 3 Feb 2016 02:10:12 -0800 [thread overview]
Message-ID: <tip-3b97629d139b19cbcd15b0b3c128a4d6587d2091@git.kernel.org> (raw)
In-Reply-To: <1452253193-30502-5-git-send-email-treeze.taeung@gmail.com>
Commit-ID: 3b97629d139b19cbcd15b0b3c128a4d6587d2091
Gitweb: http://git.kernel.org/tip/3b97629d139b19cbcd15b0b3c128a4d6587d2091
Author: Taeung Song <treeze.taeung@gmail.com>
AuthorDate: Fri, 8 Jan 2016 20:39:34 +0900
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Tue, 26 Jan 2016 11:52:48 -0300
perf config: Document variables for 'annotate' section in man page
Explain 'annotate' section and its variables.
'hide_src_code', 'use_offset', 'jump_arrows',
'show_linenr', 'show_nr_jump' and 'show_total_period'.
Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/1452253193-30502-5-git-send-email-treeze.taeung@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/Documentation/perf-config.txt | 110 +++++++++++++++++++++++++++++++
1 file changed, 110 insertions(+)
diff --git a/tools/perf/Documentation/perf-config.txt b/tools/perf/Documentation/perf-config.txt
index a095f0c..cb7ca50 100644
--- a/tools/perf/Documentation/perf-config.txt
+++ b/tools/perf/Documentation/perf-config.txt
@@ -169,6 +169,116 @@ 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.*::
+ These options work only for TUI.
+ 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. Default is 'false'.
+
+ │ 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 an example.
+ If a base address is 0XFFFFFFFF81624d50 as below,
+
+ ffffffff81624d50 <load0>
+
+ an address on assembly code has a specific absolute address as below
+
+ ffffffff816250b8:│ mov 0x8(%r14),%rdi
+
+ but if use_offset is 'true', an address subtracted from a base address is printed.
+ 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.
+ Default is 'false'.
+
+ │ ↓ jmp 1333
+ │ xchg %ax,%ax
+ │1330: mov %r15,%r10
+ │1333: cmp %r15,%r14
+
+ annotate.show_linenr::
+ When showing source code if this option is 'true',
+ line numbers are printed as below.
+
+ │1628 if (type & PERF_SAMPLE_IDENTIFIER) {
+ │ ↓ jne 508
+ │1628 data->id = *array;
+ │1629 array++;
+ │1630 }
+
+ However if this option is 'false', they aren't printed as below.
+ Default is 'false'.
+
+ │ if (type & PERF_SAMPLE_IDENTIFIER) {
+ │ ↓ jne 508
+ │ data->id = *array;
+ │ array++;
+ │ }
+
+ annotate.show_nr_jumps::
+ Let's see a part of assembly code.
+
+ │1382: movb $0x1,-0x270(%rbp)
+
+ If use this, the number of branches jumping to that address can be printed as below.
+ Default is 'false'.
+
+ │1 1382: movb $0x1,-0x270(%rbp)
+
+ annotate.show_total_period::
+ To compare two records on an instruction base, with this option
+ provided, display total number of samples that belong to a line
+ in assembly code. If this option is 'true', total periods are printed
+ instead of percent values as below.
+
+ 302 │ mov %eax,%eax
+
+ But if this option is 'false', percent values for overhead are printed i.e.
+ Default is 'false'.
+
+ 99.93 │ mov %eax,%eax
+
SEE ALSO
--------
linkperf:perf[1]
next prev parent reply other threads:[~2016-02-03 10:11 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-08 11:39 [PATCH v13 00/22] perf config: Add functionalities into perf-config and document config info Taeung Song
2016-01-08 11:39 ` [PATCH v13 01/23] perf config: Document variables for 'colors' section in man page Taeung Song
2016-02-03 10:09 ` [tip:perf/core] " tip-bot for Taeung Song
2016-01-08 11:39 ` [PATCH v13 02/23] perf config: Document variables for 'tui' and 'gtk' sections " Taeung Song
2016-02-03 10:09 ` [tip:perf/core] perf config: Document variables for 'tui' and ' gtk' " tip-bot for Taeung Song
2016-01-08 11:39 ` [PATCH v13 03/23] perf config: Document 'buildid.dir' variable " Taeung Song
2016-02-03 10:09 ` [tip:perf/core] " tip-bot for Taeung Song
2016-01-08 11:39 ` [PATCH v13 04/23] perf config: Document variables for 'annotate' section " Taeung Song
2016-01-21 14:45 ` Arnaldo Carvalho de Melo
2016-01-22 7:11 ` Taeung Song
2016-02-03 10:10 ` tip-bot for Taeung Song [this message]
2016-01-08 11:39 ` [PATCH v13 05/23] perf config: Document variables for 'help' " Taeung Song
2016-01-21 14:46 ` Arnaldo Carvalho de Melo
2016-01-22 8:00 ` Taeung Song
2016-01-08 11:39 ` [PATCH v13 06/23] perf config: Document 'hist.percentage' variable " Taeung Song
2016-01-21 14:54 ` Arnaldo Carvalho de Melo
2016-01-22 8:03 ` Taeung Song
2016-02-03 10:10 ` [tip:perf/core] " tip-bot for Taeung Song
2016-01-08 11:39 ` [PATCH v13 07/23] perf config: Document 'ui.show-headers' " Taeung Song
2016-01-08 11:39 ` [PATCH v13 08/23] perf config: Document variables for 'call-graph' section " Taeung Song
2016-01-08 11:39 ` [PATCH v13 09/23] perf config: Document variables for 'report' " Taeung Song
2016-01-08 11:39 ` [PATCH v13 10/23] perf config: Document 'top.children' variable " Taeung Song
2016-01-08 11:39 ` [PATCH v13 11/23] perf config: Document 'man.viewer' " Taeung Song
2016-01-08 11:39 ` [PATCH v13 12/23] perf config: Document 'pager.<subcommand>' variables " Taeung Song
2016-01-08 11:39 ` [PATCH v13 13/23] perf config: Document 'kmem.default' variable " Taeung Song
2016-01-08 11:39 ` [PATCH v13 14/23] perf config: Document 'record.build-id' " Taeung Song
2016-01-08 11:39 ` [PATCH v13 15/23] perf config: Add '--system' and '--user' options to select which config file is used Taeung Song
2016-01-08 11:39 ` [PATCH v13 16/23] perf config: Collect configs to handle config variables Taeung Song
2016-01-08 11:39 ` [PATCH v13 17/23] perf config: Add 'list-all' option to perf-config Taeung Song
2016-01-08 11:39 ` [PATCH v13 18/23] perf config: Add a option 'skel' " Taeung Song
2016-01-08 11:39 ` [PATCH v13 19/23] perf config: Add --verbose option for showing config description Taeung Song
2016-01-08 11:39 ` [PATCH v13 20/23] perf config: Add 'get' functionality Taeung Song
2016-01-08 11:39 ` [PATCH v13 21/23] perf config: Add 'set' feature Taeung Song
2016-01-08 11:39 ` [PATCH v13 22/23] perf config: normalize a value depending on default type of it Taeung Song
2016-01-08 11:39 ` [PATCH v13 23/23] perf config: Add a option 'remove' to perf-config Taeung Song
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=tip-3b97629d139b19cbcd15b0b3c128a4d6587d2091@git.kernel.org \
--to=tipbot@zytor.com \
--cc=acme@redhat.com \
--cc=hpa@zytor.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=tglx@linutronix.de \
--cc=treeze.taeung@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).