Re: [PATCHv2 4/5] perf stat: Add -a as a default target

From: Borislav Petkov
Date: Sat Feb 18 2017 - 12:54:53 EST


On Fri, Feb 17, 2017 at 06:48:13PM +0100, Boris Petkov wrote:
> LGTM.
>
> Acked-by: me

Well, it looks good but actually trying it is a different story. For
example:

$ ./perf stat -e amd_nb/event=0xe0,umask=0x1f/ sleep 1

still says <not supported> because argc is not 0.

So how about the below diff instead?

$ ./perf stat -e amd_nb/event=0xe0,umask=0x1f/

without args dumps the usage message and

$ ./perf stat -e amd_nb/event=0xe0,umask=0x1f/ sleep 1

actually does the system-wide thing:

Performance counter stats for 'system wide':

196,469 amd_nb/event=0xe0,umask=0x1f/

1.001815180 seconds time elapsed

Hmmm?

tools/perf/Documentation/perf-stat.txt | 2 +-
tools/perf/builtin-stat.c | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)

Index: linux/tools/perf/Documentation/perf-stat.txt
===================================================================
--- linux.orig/tools/perf/Documentation/perf-stat.txt 2017-02-18 18:38:23.751960730 +0100
+++ linux/tools/perf/Documentation/perf-stat.txt 2017-02-18 18:38:23.743960730 +0100
@@ -63,7 +63,7 @@ report::

-a::
--all-cpus::
- system-wide collection from all CPUs
+ system-wide collection from all CPUs (default if no target is specified)

-c::
--scale::
Index: linux/tools/perf/builtin-stat.c
===================================================================
--- linux.orig/tools/perf/builtin-stat.c 2017-02-18 18:38:23.751960730 +0100
+++ linux/tools/perf/builtin-stat.c 2017-02-18 18:48:33.531959828 +0100
@@ -2445,8 +2445,12 @@ int cmd_stat(int argc, const char **argv
} else if (big_num_opt == 0) /* User passed --no-big-num */
big_num = false;

- if (!argc && target__none(&target))
- usage_with_options(stat_usage, stat_options);
+ /* Make system wide (-a) the default target. */
+ if (target__none(&target)) {
+ if (!argc)
+ usage_with_options(stat_usage, stat_options);
+ target.system_wide = true;
+ }

if (run_count < 0) {
pr_err("Run count must be a positive number\n");


--
Regards/Gruss,
Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.