[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20161019181315.GH25522@kernel.org>
Date: Wed, 19 Oct 2016 15:13:15 -0300
From: Arnaldo Carvalho de Melo <acme@...nel.org>
To: Andi Kleen <andi@...stfloor.org>
Cc: jolsa@...nel.org, linux-kernel@...r.kernel.org, mingo@...nel.org,
Andi Kleen <ak@...ux.intel.com>
Subject: Re: [PATCH 2/2] perf, tools, list: Support matching by topic
Em Wed, Oct 19, 2016 at 10:50:02AM -0700, Andi Kleen escreveu:
> From: Andi Kleen <ak@...ux.intel.com>
>
> Add support in perf list topic to only show events belonging to a specific
> vendor events topic. For example the following works now:
>
> % perf list frontend
> List of pre-defined events (to be used in -e):
>
> stalled-cycles-frontend OR idle-cycles-frontend [Hardware event]
>
> stalled-cycles-frontend OR cpu/stalled-cycles-frontend/ [Kernel PMU event]
>
> frontend:
> dsb2mite_switches.count
> [Decode Stream Buffer (DSB)-to-MITE switches]
> dsb2mite_switches.penalty_cycles
> [Decode Stream Buffer (DSB)-to-MITE switch true penalty cycles]
> dsb_fill.exceed_dsb_lines
> [Cycles when Decode Stream Buffer (DSB) fill encounter more than 3 Decode Stream Buffer (DSB)
> lines]
> icache.hit
> [Number of Instruction Cache, Streaming Buffer and Victim Cache Reads. both cacheable and
> noncacheable, including UC fetches]
> ...
>
> Signed-off-by: Andi Kleen <ak@...ux.intel.com>
> ---
> tools/perf/builtin-list.c | 6 ++++--
> tools/perf/util/pmu.c | 4 +++-
> 2 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/tools/perf/builtin-list.c b/tools/perf/builtin-list.c
> index 1095a6dada66..c00b0eb343c0 100644
> --- a/tools/perf/builtin-list.c
> +++ b/tools/perf/builtin-list.c
> @@ -67,9 +67,11 @@ int cmd_list(int argc, const char **argv, const char *prefix __maybe_unused)
> print_symbol_events(NULL, PERF_TYPE_SOFTWARE,
> event_symbols_sw, PERF_COUNT_SW_MAX, raw_dump);
> else if (strcmp(argv[i], "cache") == 0 ||
> - strcmp(argv[i], "hwcache") == 0)
> + strcmp(argv[i], "hwcache") == 0) {
This is changing existing behaviour, please remove it. A separate patch
could either make it show both hwcache events and vendor cache events,
or you could make:
perf list vendor cache
Do what you expect.
> print_hwcache_events(NULL, raw_dump);
> - else if (strcmp(argv[i], "pmu") == 0)
> + print_pmu_events(argv[i], raw_dump, !desc_flag,
> + long_desc_flag, true);
> + } else if (strcmp(argv[i], "pmu") == 0)
> print_pmu_events(NULL, raw_dump, !desc_flag,
> long_desc_flag, false);
What is this here?
> else if (strcmp(argv[i], "sdt") == 0)
> diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c
> index 101922b2a243..dc8eb30e8597 100644
> --- a/tools/perf/util/pmu.c
> +++ b/tools/perf/util/pmu.c
> @@ -1142,7 +1142,9 @@ void print_pmu_events(const char *event_glob, bool name_only, bool quiet_flag,
> if (event_glob != NULL &&
> !(strglobmatch_nocase(name, event_glob) ||
> (!is_cpu && strglobmatch_nocase(alias->name,
> - event_glob))))
> + event_glob)) ||
> + (alias->topic &&
> + strglobmatch_nocase(alias->topic, event_glob))))
> continue;
>
> if (is_cpu && !name_only && !alias->desc)
> --
> 2.5.5
Powered by blists - more mailing lists