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

From: Arnaldo Carvalho de Melo
Date: Fri Feb 17 2017 - 09:27:58 EST


Em Fri, Feb 17, 2017 at 03:00:57PM +0100, Jiri Olsa escreveu:
> Boris asked for default -a option in case we monitor
> only uncore events. While implementing that I thought
> it might be actually useful to make it overall default.
>
> # perf stat
> Warning: No target specified, setting system-wide collection (-a).

Humm, would be interesting to disable this after a few warnings? Just
one?

BTW, this is how 'perf trace' works since day one, i.e. no target means
system wide syscall tracing.

- Arnaldo

> ...
>
> Requested-by: Borislav Petkov <bp@xxxxxxxxx>
> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> Cc: David Ahern <dsahern@xxxxxxxxx>
> Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> Cc: Borislav Petkov <bp@xxxxxxxxx>
> Link: http://lkml.kernel.org/n/tip-tq11of2qlz8kxpxzva05d54l@xxxxxxxxxxxxxx
> ---
> tools/perf/Documentation/perf-stat.txt | 2 +-
> tools/perf/builtin-stat.c | 6 ++++--
> 2 files changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/tools/perf/Documentation/perf-stat.txt b/tools/perf/Documentation/perf-stat.txt
> index d96ccd4844df..aecf2a87e7d6 100644
> --- a/tools/perf/Documentation/perf-stat.txt
> +++ b/tools/perf/Documentation/perf-stat.txt
> @@ -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::
> diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
> index f28719178b51..0d09ec7029d3 100644
> --- a/tools/perf/builtin-stat.c
> +++ b/tools/perf/builtin-stat.c
> @@ -2445,8 +2445,10 @@ int cmd_stat(int argc, const char **argv, const char *prefix __maybe_unused)
> } 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);
> + if (!argc && target__none(&target)) {
> + pr_warning("Warning: No target specified, setting system-wide collection (-a).\n");
> + target.system_wide = true;
> + }
>
> if (run_count < 0) {
> pr_err("Run count must be a positive number\n");
> --
> 2.7.4