From: Namhyung Kim <namhyung@kernel.org>
To: Taeung Song <treeze.taeung@gmail.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>,
linux-kernel@vger.kernel.org, Ingo Molnar <mingo@redhat.com>,
Jiri Olsa <jolsa@redhat.com>
Subject: Re: [PATCH v11 06/24] perf config: Document variables for 'annotate' section in man page
Date: Wed, 18 Nov 2015 09:24:29 +0900 [thread overview]
Message-ID: <20151118002429.GE7062@sejong> (raw)
In-Reply-To: <1447768424-17327-6-git-send-email-treeze.taeung@gmail.com>
On Tue, Nov 17, 2015 at 10:53:26PM +0900, Taeung Song wrote:
> Explain 'annotate' section and its variables.
>
> 'hide_src_code', 'use_offset', 'jump_arrows' and 'show_nr_jumps'.
The 'show_linenr' and 'show_total_period' are missing. Also you'd
better to mention the default values for each option.
And some nitpicks below..
>
> 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 b4ee205..bfbeb34 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.
AFAIK 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.
> +
> + │ 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.
s/a example/an example/
> + If a base address is 0XFFFFFFFF81624d50 as below,
> +
> + ffffffff81624d50 <load0>
> +
> + a address on assembly code has a specific absolute address as below
s/a address/an address/
> +
> + ffffffff816250b8:│ mov 0x8(%r14),%rdi
> +
> + but if use_offset is 'true', a address subtracted from a base address is printed.
Ditto.
> + 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.
I think it'd be better to avoid using similar words in a row.
How about "number of branches jumping to that address" instead?
Thanks,
Namhyung
> +
> + │1 1382: movb $0x1,-0x270(%rbp)
> +
> SEE ALSO
> --------
> linkperf:perf[1]
> --
> 1.9.1
>
next prev parent reply other threads:[~2015-11-18 0:24 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-17 13:53 [PATCH v11 01/24] perf tools: Add 'perf-config' command Taeung Song
2015-11-17 13:53 ` [PATCH v11 02/24] perf tools: Add perf-config document Taeung Song
2015-11-17 23:13 ` Namhyung Kim
2015-11-19 19:24 ` Arnaldo Carvalho de Melo
2015-11-22 10:07 ` Taeung Song
2015-11-22 10:11 ` [PATCH v11 RESEND " Taeung Song
2015-11-23 14:17 ` Arnaldo Carvalho de Melo
2015-11-26 8:20 ` [tip:perf/core] perf config: Add initial man page tip-bot for Taeung Song
2015-11-17 13:53 ` [PATCH v11 03/24] perf config: Document variables for 'color' section in " Taeung Song
2015-11-17 23:47 ` Namhyung Kim
2015-12-01 3:59 ` Taeung Song
2015-11-17 13:53 ` [PATCH v11 04/24] perf config: Document variables for 'tui' and 'gtk' sections " Taeung Song
2015-11-18 0:01 ` Namhyung Kim
2015-11-17 13:53 ` [PATCH v11 05/24] perf config: Document 'buildid.dir' variable " Taeung Song
2015-11-18 0:03 ` Namhyung Kim
2015-11-17 13:53 ` [PATCH v11 06/24] perf config: Document variables for 'annotate' section " Taeung Song
2015-11-18 0:24 ` Namhyung Kim [this message]
2015-11-17 13:53 ` [PATCH v11 07/24] perf config: Document variables for 'help' " Taeung Song
2015-11-18 0:45 ` Namhyung Kim
2015-12-01 16:17 ` Taeung Song
2015-11-17 13:53 ` [PATCH v11 08/24] perf config: Document 'hist.percentage' variable " Taeung Song
2015-11-18 0:49 ` Namhyung Kim
2015-11-17 13:53 ` [PATCH v11 09/24] perf config: Document 'ui.show-headers' " Taeung Song
2015-11-18 0:59 ` Namhyung Kim
2015-11-17 13:53 ` [PATCH v11 10/24] perf config: Document variables for 'call-graph' section " Taeung Song
2015-11-18 2:51 ` Namhyung Kim
2015-11-30 1:42 ` Taeung Song
2015-11-30 5:03 ` Namhyung Kim
2015-11-17 13:53 ` [PATCH v11 11/24] perf config: Document variables for 'report' " Taeung Song
2015-11-18 3:01 ` Namhyung Kim
2015-11-17 13:53 ` [PATCH v11 12/24] perf config: Document 'top.chidren' variable " Taeung Song
2015-11-18 3:04 ` Namhyung Kim
2015-11-17 13:53 ` [PATCH v11 13/24] perf config: Document 'man.viewer' " Taeung Song
2015-11-18 4:58 ` Namhyung Kim
2015-11-17 13:53 ` [PATCH v11 14/24] perf config: Document 'pager.<subcommand>' variables " Taeung Song
2015-11-18 5:05 ` Namhyung Kim
2015-11-17 13:53 ` [PATCH v11 15/24] perf config: Document 'kmem.default' variable " Taeung Song
2015-11-18 5:08 ` Namhyung Kim
2015-11-17 13:53 ` [PATCH v11 16/24] perf config: Add '--system' and '--user' options to select which config file is used Taeung Song
2015-11-18 5:11 ` Namhyung Kim
2015-11-17 13:53 ` [PATCH v11 17/24] perf config: Collect configs to handle config variables Taeung Song
2015-11-18 5:15 ` Namhyung Kim
2016-03-04 12:45 ` Taeung Song
2016-03-04 13:58 ` Namhyung Kim
2016-03-05 2:55 ` Taeung Song
2015-11-17 13:53 ` [PATCH v11 18/24] perf config: Add 'list-all' option to perf-config Taeung Song
2015-11-17 13:53 ` [PATCH v11 19/24] perf config: Add a option 'skel' " Taeung Song
2015-11-17 13:53 ` [PATCH v11 20/24] perf config: Add --verbose option for showing config description Taeung Song
2015-11-17 13:53 ` [PATCH v11 21/24] perf config: Add 'get' functionality Taeung Song
2015-11-17 13:53 ` [PATCH v11 22/24] perf config: Add 'set' feature Taeung Song
2015-11-17 13:53 ` [PATCH v11 23/24] perf config: normalize a value depending on default type of it Taeung Song
2015-11-17 13:53 ` [PATCH v11 24/24] perf config: Add a option 'remove' to perf-config Taeung Song
2015-11-17 22:36 ` [PATCH v11 01/24] perf tools: Add 'perf-config' command Namhyung Kim
2015-11-26 8:20 ` [tip:perf/core] perf tools: Add 'perf config' command tip-bot for 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=20151118002429.GE7062@sejong \
--to=namhyung@kernel.org \
--cc=acme@kernel.org \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--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