Re: [PATCH v1] perf list: Fix topic and pmu_name argument order

From: Liang, Kan
Date: Mon Nov 11 2024 - 09:48:50 EST




On 2024-11-08 9:58 p.m., Ian Rogers wrote:
> From: Jean-Philippe Romain <jean-philippe.romain@xxxxxxxxxxx>
>
> Fix function definitions to match header file declaration. Fix two
> callers to pass the arguments in the right order.
>
> On Intel Tigerlake, before:
> ```
> $ perf list -j|grep "\"Topic\""|sort|uniq
> "Topic": "cache",
> "Topic": "cpu",
> "Topic": "floating point",
> "Topic": "frontend",
> "Topic": "memory",
> "Topic": "other",
> "Topic": "pfm icl",
> "Topic": "pfm ix86arch",
> "Topic": "pfm perf_raw",
> "Topic": "pipeline",
> "Topic": "tool",
> "Topic": "uncore interconnect",
> "Topic": "uncore memory",
> "Topic": "uncore other",
> "Topic": "virtual memory",
> $ perf list -j|grep "\"Unit\""|sort|uniq
> "Unit": "cache",
> "Unit": "cpu",
> "Unit": "cstate_core",
> "Unit": "cstate_pkg",
> "Unit": "i915",
> "Unit": "icl",
> "Unit": "intel_bts",
> "Unit": "intel_pt",
> "Unit": "ix86arch",
> "Unit": "msr",
> "Unit": "perf_raw",
> "Unit": "power",
> "Unit": "tool",
> "Unit": "uncore_arb",
> "Unit": "uncore_clock",
> "Unit": "uncore_imc_free_running_0",
> "Unit": "uncore_imc_free_running_1",
> ```
>
> After:
> ```
> $ perf list -j|grep "\"Topic\""|sort|uniq
> "Topic": "cache",
> "Topic": "floating point",
> "Topic": "frontend",
> "Topic": "memory",
> "Topic": "other",
> "Topic": "pfm icl",
> "Topic": "pfm ix86arch",
> "Topic": "pfm perf_raw",
> "Topic": "pipeline",
> "Topic": "tool",
> "Topic": "uncore interconnect",
> "Topic": "uncore memory",
> "Topic": "uncore other",
> "Topic": "virtual memory",
> $ perf list -j|grep "\"Unit\""|sort|uniq
> "Unit": "cpu",
> "Unit": "cstate_core",
> "Unit": "cstate_pkg",
> "Unit": "i915",
> "Unit": "icl",
> "Unit": "intel_bts",
> "Unit": "intel_pt",
> "Unit": "ix86arch",
> "Unit": "msr",
> "Unit": "perf_raw",
> "Unit": "power",
> "Unit": "tool",
> "Unit": "uncore_arb",
> "Unit": "uncore_clock",
> "Unit": "uncore_imc_free_running_0",
> "Unit": "uncore_imc_free_running_1",
> ```
>
> Fixes: e5c6109f4813 ("perf list: Reorganize to use callbacks to allow honouring command line options")
> Signed-off-by: Jean-Philippe Romain <jean-philippe.romain@xxxxxxxxxxx>
> Tested-by: Ian Rogers <irogers@xxxxxxxxxx>

Reviewed-by: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>

Thanks,
Kan

> ---
> Note from Ian, I fixed the two callers and added it to
> Jean-Phillippe's original change.
> ---
> tools/perf/builtin-list.c | 4 ++--
> tools/perf/util/pfm.c | 4 ++--
> tools/perf/util/pmus.c | 2 +-
> 3 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/tools/perf/builtin-list.c b/tools/perf/builtin-list.c
> index b8378ba18c28..9e7fdfcdd7ff 100644
> --- a/tools/perf/builtin-list.c
> +++ b/tools/perf/builtin-list.c
> @@ -113,7 +113,7 @@ static void wordwrap(FILE *fp, const char *s, int start, int max, int corr)
> }
> }
>
> -static void default_print_event(void *ps, const char *pmu_name, const char *topic,
> +static void default_print_event(void *ps, const char *topic, const char *pmu_name,
> const char *event_name, const char *event_alias,
> const char *scale_unit __maybe_unused,
> bool deprecated, const char *event_type_desc,
> @@ -354,7 +354,7 @@ static void fix_escape_fprintf(FILE *fp, struct strbuf *buf, const char *fmt, ..
> fputs(buf->buf, fp);
> }
>
> -static void json_print_event(void *ps, const char *pmu_name, const char *topic,
> +static void json_print_event(void *ps, const char *topic, const char *pmu_name,
> const char *event_name, const char *event_alias,
> const char *scale_unit,
> bool deprecated, const char *event_type_desc,
> diff --git a/tools/perf/util/pfm.c b/tools/perf/util/pfm.c
> index 5ccfe4b64cdf..0dacc133ed39 100644
> --- a/tools/perf/util/pfm.c
> +++ b/tools/perf/util/pfm.c
> @@ -233,7 +233,7 @@ print_libpfm_event(const struct print_callbacks *print_cb, void *print_state,
> }
>
> if (is_libpfm_event_supported(name, cpus, threads)) {
> - print_cb->print_event(print_state, pinfo->name, topic,
> + print_cb->print_event(print_state, topic, pinfo->name,
> name, info->equiv,
> /*scale_unit=*/NULL,
> /*deprecated=*/NULL, "PFM event",
> @@ -267,8 +267,8 @@ print_libpfm_event(const struct print_callbacks *print_cb, void *print_state,
> continue;
>
> print_cb->print_event(print_state,
> - pinfo->name,
> topic,
> + pinfo->name,
> name, /*alias=*/NULL,
> /*scale_unit=*/NULL,
> /*deprecated=*/NULL, "PFM event",
> diff --git a/tools/perf/util/pmus.c b/tools/perf/util/pmus.c
> index 107de86c2637..6d4c7c9ecf3a 100644
> --- a/tools/perf/util/pmus.c
> +++ b/tools/perf/util/pmus.c
> @@ -501,8 +501,8 @@ void perf_pmus__print_pmu_events(const struct print_callbacks *print_cb, void *p
> goto free;
>
> print_cb->print_event(print_state,
> - aliases[j].pmu_name,
> aliases[j].topic,
> + aliases[j].pmu_name,
> aliases[j].name,
> aliases[j].alias,
> aliases[j].scale_unit,