* [PATCH] perf annotate: add --demangle and --demangle-kernel
@ 2021-02-22 8:29 Martin Liška
2021-02-23 19:49 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 12+ messages in thread
From: Martin Liška @ 2021-02-22 8:29 UTC (permalink / raw)
To: linux-kernel, linux-perf-users; +Cc: Arnaldo Carvalho de Melo
Perf annotate supports --symbol but it's impossible to filter
a C++ symbol. With --no-demangle one can filter easily by
mangled function name.
Signed-off-by: Martin Liška <mliska@suse.cz>
---
tools/perf/Documentation/perf-annotate.txt | 7 +++++++
tools/perf/builtin-annotate.c | 4 ++++
2 files changed, 11 insertions(+)
diff --git a/tools/perf/Documentation/perf-annotate.txt b/tools/perf/Documentation/perf-annotate.txt
index 1b5042f134a8..80c1be5d566c 100644
--- a/tools/perf/Documentation/perf-annotate.txt
+++ b/tools/perf/Documentation/perf-annotate.txt
@@ -124,6 +124,13 @@ OPTIONS
--group::
Show event group information together
+--demangle::
+ Demangle symbol names to human readable form. It's enabled by default,
+ disable with --no-demangle.
+
+--demangle-kernel::
+ Demangle kernel symbol names to human readable form (for C++ kernels).
+
--percent-type::
Set annotation percent type from following choices:
global-period, local-period, global-hits, local-hits
diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
index a23ba6bb99b6..ef70a17b9b5b 100644
--- a/tools/perf/builtin-annotate.c
+++ b/tools/perf/builtin-annotate.c
@@ -538,6 +538,10 @@ int cmd_annotate(int argc, const char **argv)
"Strip first N entries of source file path name in programs (with --prefix)"),
OPT_STRING(0, "objdump", &annotate.opts.objdump_path, "path",
"objdump binary to use for disassembly and annotations"),
+ OPT_BOOLEAN(0, "demangle", &symbol_conf.demangle,
+ "Disable symbol demangling"),
+ OPT_BOOLEAN(0, "demangle-kernel", &symbol_conf.demangle_kernel,
+ "Enable kernel symbol demangling"),
OPT_BOOLEAN(0, "group", &symbol_conf.event_group,
"Show event group information together"),
OPT_BOOLEAN(0, "show-total-period", &symbol_conf.show_total_period,
--
2.30.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH] perf annotate: add --demangle and --demangle-kernel
2021-02-22 8:29 [PATCH] perf annotate: add --demangle and --demangle-kernel Martin Liška
@ 2021-02-23 19:49 ` Arnaldo Carvalho de Melo
2021-02-26 10:01 ` Martin Liška
2021-02-26 10:03 ` [PATCH] perf config: add annotate.demangle{,_kernel} Martin Liška
0 siblings, 2 replies; 12+ messages in thread
From: Arnaldo Carvalho de Melo @ 2021-02-23 19:49 UTC (permalink / raw)
To: Martin Liška; +Cc: linux-kernel, linux-perf-users
Em Mon, Feb 22, 2021 at 09:29:22AM +0100, Martin Liška escreveu:
> Perf annotate supports --symbol but it's impossible to filter
> a C++ symbol. With --no-demangle one can filter easily by
> mangled function name.
>
> Signed-off-by: Martin Liška <mliska@suse.cz>
> ---
> tools/perf/Documentation/perf-annotate.txt | 7 +++++++
> tools/perf/builtin-annotate.c | 4 ++++
> 2 files changed, 11 insertions(+)
>
> diff --git a/tools/perf/Documentation/perf-annotate.txt b/tools/perf/Documentation/perf-annotate.txt
> index 1b5042f134a8..80c1be5d566c 100644
> --- a/tools/perf/Documentation/perf-annotate.txt
> +++ b/tools/perf/Documentation/perf-annotate.txt
> @@ -124,6 +124,13 @@ OPTIONS
> --group::
> Show event group information together
> +--demangle::
> + Demangle symbol names to human readable form. It's enabled by default,
> + disable with --no-demangle.
> +
> +--demangle-kernel::
> + Demangle kernel symbol names to human readable form (for C++ kernels).
> +
> --percent-type::
> Set annotation percent type from following choices:
> global-period, local-period, global-hits, local-hits
> diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
> index a23ba6bb99b6..ef70a17b9b5b 100644
> --- a/tools/perf/builtin-annotate.c
> +++ b/tools/perf/builtin-annotate.c
> @@ -538,6 +538,10 @@ int cmd_annotate(int argc, const char **argv)
> "Strip first N entries of source file path name in programs (with --prefix)"),
> OPT_STRING(0, "objdump", &annotate.opts.objdump_path, "path",
> "objdump binary to use for disassembly and annotations"),
> + OPT_BOOLEAN(0, "demangle", &symbol_conf.demangle,
> + "Disable symbol demangling"),
Nope, this _enables_ demangling, i.e.:
perf annotate --demangle
Asks for symbol demangling, while:
perf annotate --no-demangle
As you correctly wrote in your commit message and on the
--demangle-kernel case, enables demangling.
Please consider making this configurable (if not already) via
~/.perfconfig, 'perf config', sure in a followup patch.
Thanks,
- Arnaldo
> + OPT_BOOLEAN(0, "demangle-kernel", &symbol_conf.demangle_kernel,
> + "Enable kernel symbol demangling"),
> OPT_BOOLEAN(0, "group", &symbol_conf.event_group,
> "Show event group information together"),
> OPT_BOOLEAN(0, "show-total-period", &symbol_conf.show_total_period,
> --
> 2.30.1
>
--
- Arnaldo
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] perf annotate: add --demangle and --demangle-kernel
2021-02-23 19:49 ` Arnaldo Carvalho de Melo
@ 2021-02-26 10:01 ` Martin Liška
2021-03-07 19:23 ` Martin Liška
2021-02-26 10:03 ` [PATCH] perf config: add annotate.demangle{,_kernel} Martin Liška
1 sibling, 1 reply; 12+ messages in thread
From: Martin Liška @ 2021-02-26 10:01 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo; +Cc: linux-kernel, linux-perf-users
[-- Attachment #1: Type: text/plain, Size: 2589 bytes --]
On 2/23/21 8:49 PM, Arnaldo Carvalho de Melo wrote:
> Em Mon, Feb 22, 2021 at 09:29:22AM +0100, Martin Liška escreveu:
>> Perf annotate supports --symbol but it's impossible to filter
>> a C++ symbol. With --no-demangle one can filter easily by
>> mangled function name.
>>
>> Signed-off-by: Martin Liška <mliska@suse.cz>
>> ---
>> tools/perf/Documentation/perf-annotate.txt | 7 +++++++
>> tools/perf/builtin-annotate.c | 4 ++++
>> 2 files changed, 11 insertions(+)
>>
>> diff --git a/tools/perf/Documentation/perf-annotate.txt b/tools/perf/Documentation/perf-annotate.txt
>> index 1b5042f134a8..80c1be5d566c 100644
>> --- a/tools/perf/Documentation/perf-annotate.txt
>> +++ b/tools/perf/Documentation/perf-annotate.txt
>> @@ -124,6 +124,13 @@ OPTIONS
>> --group::
>> Show event group information together
>> +--demangle::
>> + Demangle symbol names to human readable form. It's enabled by default,
>> + disable with --no-demangle.
>> +
>> +--demangle-kernel::
>> + Demangle kernel symbol names to human readable form (for C++ kernels).
>> +
>> --percent-type::
>> Set annotation percent type from following choices:
>> global-period, local-period, global-hits, local-hits
>> diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
>> index a23ba6bb99b6..ef70a17b9b5b 100644
>> --- a/tools/perf/builtin-annotate.c
>> +++ b/tools/perf/builtin-annotate.c
>> @@ -538,6 +538,10 @@ int cmd_annotate(int argc, const char **argv)
>> "Strip first N entries of source file path name in programs (with --prefix)"),
>> OPT_STRING(0, "objdump", &annotate.opts.objdump_path, "path",
>> "objdump binary to use for disassembly and annotations"),
>> + OPT_BOOLEAN(0, "demangle", &symbol_conf.demangle,
>> + "Disable symbol demangling"),
>
> Nope, this _enables_ demangling, i.e.:
>
> perf annotate --demangle
Oh, yeah, you are right.
>
> Asks for symbol demangling, while:
>
> perf annotate --no-demangle
>
> As you correctly wrote in your commit message and on the
> --demangle-kernel case, enables demangling.
Fixed that in V2.
Martin
>
> Please consider making this configurable (if not already) via
> ~/.perfconfig, 'perf config', sure in a followup patch.
>
> Thanks,
>
> - Arnaldo
>
>> + OPT_BOOLEAN(0, "demangle-kernel", &symbol_conf.demangle_kernel,
>> + "Enable kernel symbol demangling"),
>> OPT_BOOLEAN(0, "group", &symbol_conf.event_group,
>> "Show event group information together"),
>> OPT_BOOLEAN(0, "show-total-period", &symbol_conf.show_total_period,
>> --
>> 2.30.1
>>
>
[-- Attachment #2: 0001-perf-annotate-add-demangle-and-demangle-kernel.patch --]
[-- Type: text/x-patch, Size: 2157 bytes --]
From 336233abae5c539d7b2730cbbe35d0c7528bccc2 Mon Sep 17 00:00:00 2001
From: Martin Liska <mliska@suse.cz>
Date: Mon, 22 Feb 2021 09:24:22 +0100
Subject: [PATCH] perf annotate: add --demangle and --demangle-kernel
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Perf annotate supports --symbol but it's impossible to filter
a C++ symbol. With --no-demangle one can filter easily by
mangled function name.
Signed-off-by: Martin Liška <mliska@suse.cz>
---
tools/perf/Documentation/perf-annotate.txt | 7 +++++++
tools/perf/builtin-annotate.c | 4 ++++
2 files changed, 11 insertions(+)
diff --git a/tools/perf/Documentation/perf-annotate.txt b/tools/perf/Documentation/perf-annotate.txt
index 1b5042f134a8..80c1be5d566c 100644
--- a/tools/perf/Documentation/perf-annotate.txt
+++ b/tools/perf/Documentation/perf-annotate.txt
@@ -124,6 +124,13 @@ OPTIONS
--group::
Show event group information together
+--demangle::
+ Demangle symbol names to human readable form. It's enabled by default,
+ disable with --no-demangle.
+
+--demangle-kernel::
+ Demangle kernel symbol names to human readable form (for C++ kernels).
+
--percent-type::
Set annotation percent type from following choices:
global-period, local-period, global-hits, local-hits
diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
index a23ba6bb99b6..ea05d9f927cb 100644
--- a/tools/perf/builtin-annotate.c
+++ b/tools/perf/builtin-annotate.c
@@ -538,6 +538,10 @@ int cmd_annotate(int argc, const char **argv)
"Strip first N entries of source file path name in programs (with --prefix)"),
OPT_STRING(0, "objdump", &annotate.opts.objdump_path, "path",
"objdump binary to use for disassembly and annotations"),
+ OPT_BOOLEAN(0, "demangle", &symbol_conf.demangle,
+ "Enable symbol demangling"),
+ OPT_BOOLEAN(0, "demangle-kernel", &symbol_conf.demangle_kernel,
+ "Enable kernel symbol demangling"),
OPT_BOOLEAN(0, "group", &symbol_conf.event_group,
"Show event group information together"),
OPT_BOOLEAN(0, "show-total-period", &symbol_conf.show_total_period,
--
2.30.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH] perf config: add annotate.demangle{,_kernel}
2021-02-23 19:49 ` Arnaldo Carvalho de Melo
2021-02-26 10:01 ` Martin Liška
@ 2021-02-26 10:03 ` Martin Liška
2021-02-26 10:08 ` Martin Liška
1 sibling, 1 reply; 12+ messages in thread
From: Martin Liška @ 2021-02-26 10:03 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo; +Cc: linux-kernel, linux-perf-users
[-- Attachment #1: Type: text/plain, Size: 230 bytes --]
On 2/23/21 8:49 PM, Arnaldo Carvalho de Melo wrote:
> Please consider making this configurable (if not already) via
> ~/.perfconfig, 'perf config', sure in a followup patch.
I'm doing that in the following patch.
Thanks,
Martin
[-- Attachment #2: 0001-perf-config-add-annotate.demangle-_kernel.patch --]
[-- Type: text/x-patch, Size: 1861 bytes --]
From 797fcd73a3ecdabdf40ae054c1d4c2530fcf8203 Mon Sep 17 00:00:00 2001
From: Martin Liska <mliska@suse.cz>
Date: Fri, 26 Feb 2021 11:01:24 +0100
Subject: [PATCH] perf config: add annotate.demangle{,_kernel}
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Martin Liška <mliska@suse.cz>
---
tools/perf/Documentation/perf-config.txt | 6 ++++++
tools/perf/util/annotate.c | 4 ++++
2 files changed, 10 insertions(+)
diff --git a/tools/perf/Documentation/perf-config.txt b/tools/perf/Documentation/perf-config.txt
index 153bde14bbe0..154a1ced72b2 100644
--- a/tools/perf/Documentation/perf-config.txt
+++ b/tools/perf/Documentation/perf-config.txt
@@ -393,6 +393,12 @@ annotate.*::
This option works with tui, stdio2 browsers.
+ annotate.demangle::
+ Demangle symbol names to human readable form. Default is 'true'.
+
+ annotate.demangle_kernel::
+ Demangle kernel symbol names to human readable form. Default is 'true'.
+
hist.*::
hist.percentage::
This option control the way to calculate overhead of filtered entries -
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 80542012ec1b..6e9db717c3d8 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -3142,6 +3142,10 @@ static int annotation__config(const char *var, const char *value, void *data)
opt->use_offset = perf_config_bool("use_offset", value);
} else if (!strcmp(var, "annotate.disassembler_style")) {
opt->disassembler_style = value;
+ } else if (!strcmp(var, "annotate.demangle")) {
+ symbol_conf.demangle = perf_config_bool("demangle", value);
+ } else if (!strcmp(var, "annotate.demangle_kernel")) {
+ symbol_conf.demangle = perf_config_bool("demangle_kernel", value);
} else {
pr_debug("%s variable unknown, ignoring...", var);
}
--
2.30.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH] perf config: add annotate.demangle{,_kernel}
2021-02-26 10:03 ` [PATCH] perf config: add annotate.demangle{,_kernel} Martin Liška
@ 2021-02-26 10:08 ` Martin Liška
2021-03-06 13:22 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 12+ messages in thread
From: Martin Liška @ 2021-02-26 10:08 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo; +Cc: linux-kernel, linux-perf-users
[-- Attachment #1: Type: text/plain, Size: 342 bytes --]
On 2/26/21 11:03 AM, Martin Liška wrote:
> On 2/23/21 8:49 PM, Arnaldo Carvalho de Melo wrote:
>> Please consider making this configurable (if not already) via
>> ~/.perfconfig, 'perf config', sure in a followup patch.
>
> I'm doing that in the following patch.
The patch contained a typo, fixed in the V2.
Martin
>
> Thanks,
> Martin
[-- Attachment #2: 0001-perf-config-add-annotate.demangle-_kernel.patch --]
[-- Type: text/x-patch, Size: 1868 bytes --]
From a29a6d3ae717f19774a430ccf9a63a452376f359 Mon Sep 17 00:00:00 2001
From: Martin Liska <mliska@suse.cz>
Date: Fri, 26 Feb 2021 11:01:24 +0100
Subject: [PATCH] perf config: add annotate.demangle{,_kernel}
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Martin Liška <mliska@suse.cz>
---
tools/perf/Documentation/perf-config.txt | 6 ++++++
tools/perf/util/annotate.c | 4 ++++
2 files changed, 10 insertions(+)
diff --git a/tools/perf/Documentation/perf-config.txt b/tools/perf/Documentation/perf-config.txt
index 153bde14bbe0..154a1ced72b2 100644
--- a/tools/perf/Documentation/perf-config.txt
+++ b/tools/perf/Documentation/perf-config.txt
@@ -393,6 +393,12 @@ annotate.*::
This option works with tui, stdio2 browsers.
+ annotate.demangle::
+ Demangle symbol names to human readable form. Default is 'true'.
+
+ annotate.demangle_kernel::
+ Demangle kernel symbol names to human readable form. Default is 'true'.
+
hist.*::
hist.percentage::
This option control the way to calculate overhead of filtered entries -
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 80542012ec1b..e35d56608986 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -3142,6 +3142,10 @@ static int annotation__config(const char *var, const char *value, void *data)
opt->use_offset = perf_config_bool("use_offset", value);
} else if (!strcmp(var, "annotate.disassembler_style")) {
opt->disassembler_style = value;
+ } else if (!strcmp(var, "annotate.demangle")) {
+ symbol_conf.demangle = perf_config_bool("demangle", value);
+ } else if (!strcmp(var, "annotate.demangle_kernel")) {
+ symbol_conf.demangle_kernel = perf_config_bool("demangle_kernel", value);
} else {
pr_debug("%s variable unknown, ignoring...", var);
}
--
2.30.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH] perf config: add annotate.demangle{,_kernel}
2021-02-26 10:08 ` Martin Liška
@ 2021-03-06 13:22 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 12+ messages in thread
From: Arnaldo Carvalho de Melo @ 2021-03-06 13:22 UTC (permalink / raw)
To: Martin Liška; +Cc: linux-kernel, linux-perf-users
Em Fri, Feb 26, 2021 at 11:08:12AM +0100, Martin Liška escreveu:
> On 2/26/21 11:03 AM, Martin Liška wrote:
> > On 2/23/21 8:49 PM, Arnaldo Carvalho de Melo wrote:
> > > Please consider making this configurable (if not already) via
> > > ~/.perfconfig, 'perf config', sure in a followup patch.
> >
> > I'm doing that in the following patch.
>
> The patch contained a typo, fixed in the V2.
Thanks, applied.
And expanded that commit log a bit:
Author: Martin Liska <mliska@suse.cz>
Date: Fri Feb 26 11:01:24 2021 +0100
perf config: Add annotate.demangle{,_kernel}
Committer notes:
This allows setting this in from the command line:
$ perf config annotate.demangle
$ perf config annotate.demangle=yes
$ perf config annotate.demangle
annotate.demangle=yes
$ cat ~/.perfconfig
# this file is auto-generated.
[report]
sort-order = srcline
[annotate]
demangle = yes
$
$
$ perf config annotate.demangle_kernel
$ perf config annotate.demangle_kernel=yes
$ perf config annotate.demangle_kernel
annotate.demangle_kernel=yes
$ cat ~/.perfconfig
# this file is auto-generated.
[report]
sort-order = srcline
[annotate]
demangle = yes
demangle_kernel = yes
$
Signed-off-by: Martin Liška <mliska@suse.cz>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Link: https://lore.kernel.org/r/c96aabe7-791f-9503-295f-3147a9d19b60@suse.cz
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
- Arnaldo
> Martin
>
> >
> > Thanks,
> > Martin
>
> From a29a6d3ae717f19774a430ccf9a63a452376f359 Mon Sep 17 00:00:00 2001
> From: Martin Liska <mliska@suse.cz>
> Date: Fri, 26 Feb 2021 11:01:24 +0100
> Subject: [PATCH] perf config: add annotate.demangle{,_kernel}
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
>
> Signed-off-by: Martin Liška <mliska@suse.cz>
> ---
> tools/perf/Documentation/perf-config.txt | 6 ++++++
> tools/perf/util/annotate.c | 4 ++++
> 2 files changed, 10 insertions(+)
>
> diff --git a/tools/perf/Documentation/perf-config.txt b/tools/perf/Documentation/perf-config.txt
> index 153bde14bbe0..154a1ced72b2 100644
> --- a/tools/perf/Documentation/perf-config.txt
> +++ b/tools/perf/Documentation/perf-config.txt
> @@ -393,6 +393,12 @@ annotate.*::
>
> This option works with tui, stdio2 browsers.
>
> + annotate.demangle::
> + Demangle symbol names to human readable form. Default is 'true'.
> +
> + annotate.demangle_kernel::
> + Demangle kernel symbol names to human readable form. Default is 'true'.
> +
> hist.*::
> hist.percentage::
> This option control the way to calculate overhead of filtered entries -
> diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
> index 80542012ec1b..e35d56608986 100644
> --- a/tools/perf/util/annotate.c
> +++ b/tools/perf/util/annotate.c
> @@ -3142,6 +3142,10 @@ static int annotation__config(const char *var, const char *value, void *data)
> opt->use_offset = perf_config_bool("use_offset", value);
> } else if (!strcmp(var, "annotate.disassembler_style")) {
> opt->disassembler_style = value;
> + } else if (!strcmp(var, "annotate.demangle")) {
> + symbol_conf.demangle = perf_config_bool("demangle", value);
> + } else if (!strcmp(var, "annotate.demangle_kernel")) {
> + symbol_conf.demangle_kernel = perf_config_bool("demangle_kernel", value);
> } else {
> pr_debug("%s variable unknown, ignoring...", var);
> }
> --
> 2.30.1
>
--
- Arnaldo
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] perf annotate: add --demangle and --demangle-kernel
2021-02-26 10:01 ` Martin Liška
@ 2021-03-07 19:23 ` Martin Liška
2021-03-30 7:41 ` Martin Liška
0 siblings, 1 reply; 12+ messages in thread
From: Martin Liška @ 2021-03-07 19:23 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo; +Cc: linux-kernel, linux-perf-users
Hello.
May I please remind this patch. Apparently, you applied the perf-config
counterpart of the patch as 804fd30c6bd9aec7859a0503581312834fb197f1
(in tmp.perf/core branch), but we miss setting the same via options.
Thank you,
Martin
On 2/26/21 11:01 AM, Martin Liška wrote:
> On 2/23/21 8:49 PM, Arnaldo Carvalho de Melo wrote:
>> Em Mon, Feb 22, 2021 at 09:29:22AM +0100, Martin Liška escreveu:
>>> Perf annotate supports --symbol but it's impossible to filter
>>> a C++ symbol. With --no-demangle one can filter easily by
>>> mangled function name.
>>>
>>> Signed-off-by: Martin Liška <mliska@suse.cz>
>>> ---
>>> tools/perf/Documentation/perf-annotate.txt | 7 +++++++
>>> tools/perf/builtin-annotate.c | 4 ++++
>>> 2 files changed, 11 insertions(+)
>>>
>>> diff --git a/tools/perf/Documentation/perf-annotate.txt b/tools/perf/Documentation/perf-annotate.txt
>>> index 1b5042f134a8..80c1be5d566c 100644
>>> --- a/tools/perf/Documentation/perf-annotate.txt
>>> +++ b/tools/perf/Documentation/perf-annotate.txt
>>> @@ -124,6 +124,13 @@ OPTIONS
>>> --group::
>>> Show event group information together
>>> +--demangle::
>>> + Demangle symbol names to human readable form. It's enabled by default,
>>> + disable with --no-demangle.
>>> +
>>> +--demangle-kernel::
>>> + Demangle kernel symbol names to human readable form (for C++ kernels).
>>> +
>>> --percent-type::
>>> Set annotation percent type from following choices:
>>> global-period, local-period, global-hits, local-hits
>>> diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
>>> index a23ba6bb99b6..ef70a17b9b5b 100644
>>> --- a/tools/perf/builtin-annotate.c
>>> +++ b/tools/perf/builtin-annotate.c
>>> @@ -538,6 +538,10 @@ int cmd_annotate(int argc, const char **argv)
>>> "Strip first N entries of source file path name in programs (with --prefix)"),
>>> OPT_STRING(0, "objdump", &annotate.opts.objdump_path, "path",
>>> "objdump binary to use for disassembly and annotations"),
>>> + OPT_BOOLEAN(0, "demangle", &symbol_conf.demangle,
>>> + "Disable symbol demangling"),
>>
>> Nope, this _enables_ demangling, i.e.:
>>
>> perf annotate --demangle
>
> Oh, yeah, you are right.
>
>>
>> Asks for symbol demangling, while:
>>
>> perf annotate --no-demangle
>>
>> As you correctly wrote in your commit message and on the
>> --demangle-kernel case, enables demangling.
>
> Fixed that in V2.
>
> Martin
>
>>
>> Please consider making this configurable (if not already) via
>> ~/.perfconfig, 'perf config', sure in a followup patch.
>>
>> Thanks,
>>
>> - Arnaldo
>>
>>> + OPT_BOOLEAN(0, "demangle-kernel", &symbol_conf.demangle_kernel,
>>> + "Enable kernel symbol demangling"),
>>> OPT_BOOLEAN(0, "group", &symbol_conf.event_group,
>>> "Show event group information together"),
>>> OPT_BOOLEAN(0, "show-total-period", &symbol_conf.show_total_period,
>>> --
>>> 2.30.1
>>>
>>
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] perf annotate: add --demangle and --demangle-kernel
2021-03-07 19:23 ` Martin Liška
@ 2021-03-30 7:41 ` Martin Liška
2021-03-30 15:42 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 12+ messages in thread
From: Martin Liška @ 2021-03-30 7:41 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo; +Cc: linux-kernel, linux-perf-users
PING^2
On 3/7/21 8:23 PM, Martin Liška wrote:
> Hello.
>
> May I please remind this patch. Apparently, you applied the perf-config
> counterpart of the patch as 804fd30c6bd9aec7859a0503581312834fb197f1
> (in tmp.perf/core branch), but we miss setting the same via options.
>
> Thank you,
> Martin
>
> On 2/26/21 11:01 AM, Martin Liška wrote:
>> On 2/23/21 8:49 PM, Arnaldo Carvalho de Melo wrote:
>>> Em Mon, Feb 22, 2021 at 09:29:22AM +0100, Martin Liška escreveu:
>>>> Perf annotate supports --symbol but it's impossible to filter
>>>> a C++ symbol. With --no-demangle one can filter easily by
>>>> mangled function name.
>>>>
>>>> Signed-off-by: Martin Liška <mliska@suse.cz>
>>>> ---
>>>> tools/perf/Documentation/perf-annotate.txt | 7 +++++++
>>>> tools/perf/builtin-annotate.c | 4 ++++
>>>> 2 files changed, 11 insertions(+)
>>>>
>>>> diff --git a/tools/perf/Documentation/perf-annotate.txt b/tools/perf/Documentation/perf-annotate.txt
>>>> index 1b5042f134a8..80c1be5d566c 100644
>>>> --- a/tools/perf/Documentation/perf-annotate.txt
>>>> +++ b/tools/perf/Documentation/perf-annotate.txt
>>>> @@ -124,6 +124,13 @@ OPTIONS
>>>> --group::
>>>> Show event group information together
>>>> +--demangle::
>>>> + Demangle symbol names to human readable form. It's enabled by default,
>>>> + disable with --no-demangle.
>>>> +
>>>> +--demangle-kernel::
>>>> + Demangle kernel symbol names to human readable form (for C++ kernels).
>>>> +
>>>> --percent-type::
>>>> Set annotation percent type from following choices:
>>>> global-period, local-period, global-hits, local-hits
>>>> diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
>>>> index a23ba6bb99b6..ef70a17b9b5b 100644
>>>> --- a/tools/perf/builtin-annotate.c
>>>> +++ b/tools/perf/builtin-annotate.c
>>>> @@ -538,6 +538,10 @@ int cmd_annotate(int argc, const char **argv)
>>>> "Strip first N entries of source file path name in programs (with --prefix)"),
>>>> OPT_STRING(0, "objdump", &annotate.opts.objdump_path, "path",
>>>> "objdump binary to use for disassembly and annotations"),
>>>> + OPT_BOOLEAN(0, "demangle", &symbol_conf.demangle,
>>>> + "Disable symbol demangling"),
>>>
>>> Nope, this _enables_ demangling, i.e.:
>>>
>>> perf annotate --demangle
>>
>> Oh, yeah, you are right.
>>
>>>
>>> Asks for symbol demangling, while:
>>>
>>> perf annotate --no-demangle
>>>
>>> As you correctly wrote in your commit message and on the
>>> --demangle-kernel case, enables demangling.
>>
>> Fixed that in V2.
>>
>> Martin
>>
>>>
>>> Please consider making this configurable (if not already) via
>>> ~/.perfconfig, 'perf config', sure in a followup patch.
>>>
>>> Thanks,
>>>
>>> - Arnaldo
>>>
>>>> + OPT_BOOLEAN(0, "demangle-kernel", &symbol_conf.demangle_kernel,
>>>> + "Enable kernel symbol demangling"),
>>>> OPT_BOOLEAN(0, "group", &symbol_conf.event_group,
>>>> "Show event group information together"),
>>>> OPT_BOOLEAN(0, "show-total-period", &symbol_conf.show_total_period,
>>>> --
>>>> 2.30.1
>>>>
>>>
>>
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] perf annotate: add --demangle and --demangle-kernel
2021-03-30 7:41 ` Martin Liška
@ 2021-03-30 15:42 ` Arnaldo Carvalho de Melo
2021-03-30 18:19 ` Martin Liška
0 siblings, 1 reply; 12+ messages in thread
From: Arnaldo Carvalho de Melo @ 2021-03-30 15:42 UTC (permalink / raw)
To: Martin Liška; +Cc: linux-kernel, linux-perf-users
Em Tue, Mar 30, 2021 at 09:41:33AM +0200, Martin Liška escreveu:
> PING^2
>
> On 3/7/21 8:23 PM, Martin Liška wrote:
> > Hello.
> >
> > May I please remind this patch. Apparently, you applied the perf-config
> > counterpart of the patch as 804fd30c6bd9aec7859a0503581312834fb197f1
> > (in tmp.perf/core branch), but we miss setting the same via options.
> >
> > Thank you,
> > Martin
> >
> > On 2/26/21 11:01 AM, Martin Liška wrote:
> > > On 2/23/21 8:49 PM, Arnaldo Carvalho de Melo wrote:
> > > > Em Mon, Feb 22, 2021 at 09:29:22AM +0100, Martin Liška escreveu:
> > > > > Perf annotate supports --symbol but it's impossible to filter
> > > > > a C++ symbol. With --no-demangle one can filter easily by
> > > > > mangled function name.
> > > > >
> > > > > Signed-off-by: Martin Liška <mliska@suse.cz>
> > > > > ---
> > > > > tools/perf/Documentation/perf-annotate.txt | 7 +++++++
> > > > > tools/perf/builtin-annotate.c | 4 ++++
> > > > > 2 files changed, 11 insertions(+)
> > > > >
> > > > > diff --git a/tools/perf/Documentation/perf-annotate.txt b/tools/perf/Documentation/perf-annotate.txt
> > > > > index 1b5042f134a8..80c1be5d566c 100644
> > > > > --- a/tools/perf/Documentation/perf-annotate.txt
> > > > > +++ b/tools/perf/Documentation/perf-annotate.txt
> > > > > @@ -124,6 +124,13 @@ OPTIONS
> > > > > --group::
> > > > > Show event group information together
> > > > > +--demangle::
> > > > > + Demangle symbol names to human readable form. It's enabled by default,
> > > > > + disable with --no-demangle.
> > > > > +
> > > > > +--demangle-kernel::
> > > > > + Demangle kernel symbol names to human readable form (for C++ kernels).
> > > > > +
> > > > > --percent-type::
> > > > > Set annotation percent type from following choices:
> > > > > global-period, local-period, global-hits, local-hits
> > > > > diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
> > > > > index a23ba6bb99b6..ef70a17b9b5b 100644
> > > > > --- a/tools/perf/builtin-annotate.c
> > > > > +++ b/tools/perf/builtin-annotate.c
> > > > > @@ -538,6 +538,10 @@ int cmd_annotate(int argc, const char **argv)
> > > > > "Strip first N entries of source file path name in programs (with --prefix)"),
> > > > > OPT_STRING(0, "objdump", &annotate.opts.objdump_path, "path",
> > > > > "objdump binary to use for disassembly and annotations"),
> > > > > + OPT_BOOLEAN(0, "demangle", &symbol_conf.demangle,
> > > > > + "Disable symbol demangling"),
> > > >
> > > > Nope, this _enables_ demangling, i.e.:
> > > >
> > > > perf annotate --demangle
> > >
> > > Oh, yeah, you are right.
> > >
> > > >
> > > > Asks for symbol demangling, while:
> > > >
> > > > perf annotate --no-demangle
> > > >
> > > > As you correctly wrote in your commit message and on the
> > > > --demangle-kernel case, enables demangling.
> > >
> > > Fixed that in V2.
Trying to find V2
- Arnaldo
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] perf annotate: add --demangle and --demangle-kernel
2021-03-30 15:42 ` Arnaldo Carvalho de Melo
@ 2021-03-30 18:19 ` Martin Liška
2021-03-30 18:23 ` Arnaldo Carvalho de Melo
2021-03-30 18:33 ` Martin Liška
0 siblings, 2 replies; 12+ messages in thread
From: Martin Liška @ 2021-03-30 18:19 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo; +Cc: linux-kernel, linux-perf-users
On 3/30/21 5:42 PM, Arnaldo Carvalho de Melo wrote:
> Trying to find V2
It's this email:
https://lore.kernel.org/lkml/deb2af9e-25dd-ac72-29f4-ab90c2b24237@suse.cz/
Subject: Re: [PATCH] perf config: add annotate.demangle{,_kernel}
From: =?UTF-8?Q?Martin_Li=c5=a1ka?= <mliska@suse.cz>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org
References: <deb2af9e-25dd-ac72-29f4-ab90c2b24237@suse.cz>
<YDVcZJscuKIgShsm@kernel.org> <a4e687b9-f611-1b24-ae7c-2ecd93c42ea8@suse.cz>
Message-ID: <c96aabe7-791f-9503-295f-3147a9d19b60@suse.cz>
Date: Fri, 26 Feb 2021 11:08:12 +0100
Cheers,
Martin
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] perf annotate: add --demangle and --demangle-kernel
2021-03-30 18:19 ` Martin Liška
@ 2021-03-30 18:23 ` Arnaldo Carvalho de Melo
2021-03-30 18:33 ` Martin Liška
1 sibling, 0 replies; 12+ messages in thread
From: Arnaldo Carvalho de Melo @ 2021-03-30 18:23 UTC (permalink / raw)
To: Martin Liška; +Cc: linux-kernel, linux-perf-users
Em Tue, Mar 30, 2021 at 08:19:10PM +0200, Martin Liška escreveu:
> On 3/30/21 5:42 PM, Arnaldo Carvalho de Melo wrote:
> > Trying to find V2
You said you would resend fixing up this:
+ OPT_BOOLEAN(0, "demangle", &symbol_conf.demangle,
+ "Disable symbol demangling"),
^^^^^^^
+ OPT_BOOLEAN(0, "demangle-kernel", &symbol_conf.demangle_kernel,
+ "Enable kernel symbol demangling"),
> It's this email:
> https://lore.kernel.org/lkml/deb2af9e-25dd-ac72-29f4-ab90c2b24237@suse.cz/
>
> Subject: Re: [PATCH] perf config: add annotate.demangle{,_kernel}
> From: =?UTF-8?Q?Martin_Li=c5=a1ka?= <mliska@suse.cz>
> To: Arnaldo Carvalho de Melo <acme@kernel.org>
> Cc: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org
> References: <deb2af9e-25dd-ac72-29f4-ab90c2b24237@suse.cz>
> <YDVcZJscuKIgShsm@kernel.org> <a4e687b9-f611-1b24-ae7c-2ecd93c42ea8@suse.cz>
> Message-ID: <c96aabe7-791f-9503-295f-3147a9d19b60@suse.cz>
> Date: Fri, 26 Feb 2021 11:08:12 +0100
>
>
> Cheers,
> Martin
--
- Arnaldo
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH] perf annotate: add --demangle and --demangle-kernel
2021-03-30 18:19 ` Martin Liška
2021-03-30 18:23 ` Arnaldo Carvalho de Melo
@ 2021-03-30 18:33 ` Martin Liška
1 sibling, 0 replies; 12+ messages in thread
From: Martin Liška @ 2021-03-30 18:33 UTC (permalink / raw)
To: linux-perf-users, lkml; +Cc: Arnaldo Carvalho de Melo
Perf annotate supports --symbol but it's impossible to filter
a C++ symbol. With --no-demangle one can filter easily by
mangled function name.
Signed-off-by: Martin Liška <mliska@suse.cz>
---
tools/perf/Documentation/perf-annotate.txt | 7 +++++++
tools/perf/builtin-annotate.c | 4 ++++
2 files changed, 11 insertions(+)
diff --git a/tools/perf/Documentation/perf-annotate.txt b/tools/perf/Documentation/perf-annotate.txt
index 1b5042f134a8..80c1be5d566c 100644
--- a/tools/perf/Documentation/perf-annotate.txt
+++ b/tools/perf/Documentation/perf-annotate.txt
@@ -124,6 +124,13 @@ OPTIONS
--group::
Show event group information together
+--demangle::
+ Demangle symbol names to human readable form. It's enabled by default,
+ disable with --no-demangle.
+
+--demangle-kernel::
+ Demangle kernel symbol names to human readable form (for C++ kernels).
+
--percent-type::
Set annotation percent type from following choices:
global-period, local-period, global-hits, local-hits
diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
index 0f3a196e5d6e..021d974c978e 100644
--- a/tools/perf/builtin-annotate.c
+++ b/tools/perf/builtin-annotate.c
@@ -538,6 +538,10 @@ int cmd_annotate(int argc, const char **argv)
"Strip first N entries of source file path name in programs (with --prefix)"),
OPT_STRING(0, "objdump", &annotate.opts.objdump_path, "path",
"objdump binary to use for disassembly and annotations"),
+ OPT_BOOLEAN(0, "demangle", &symbol_conf.demangle,
+ "Enable symbol demangling"),
+ OPT_BOOLEAN(0, "demangle-kernel", &symbol_conf.demangle_kernel,
+ "Enable kernel symbol demangling"),
OPT_BOOLEAN(0, "group", &symbol_conf.event_group,
"Show event group information together"),
OPT_BOOLEAN(0, "show-total-period", &symbol_conf.show_total_period,
--
2.30.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
end of thread, other threads:[~2021-03-30 18:54 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-22 8:29 [PATCH] perf annotate: add --demangle and --demangle-kernel Martin Liška
2021-02-23 19:49 ` Arnaldo Carvalho de Melo
2021-02-26 10:01 ` Martin Liška
2021-03-07 19:23 ` Martin Liška
2021-03-30 7:41 ` Martin Liška
2021-03-30 15:42 ` Arnaldo Carvalho de Melo
2021-03-30 18:19 ` Martin Liška
2021-03-30 18:23 ` Arnaldo Carvalho de Melo
2021-03-30 18:33 ` Martin Liška
2021-02-26 10:03 ` [PATCH] perf config: add annotate.demangle{,_kernel} Martin Liška
2021-02-26 10:08 ` Martin Liška
2021-03-06 13:22 ` Arnaldo Carvalho de Melo
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).