Re: [PATCH v2 00/16] Consistently prefer sysfs/json events

From: Atish Kumar Patra
Date: Tue Apr 23 2024 - 20:28:21 EST


On Mon, Apr 15, 2024 at 11:15 PM Ian Rogers <irogers@xxxxxxxxxx> wrote:
>
> As discussed in:
> https://lore.kernel.org/lkml/20240217005738.3744121-1-atishp@xxxxxxxxxxxx/
> preferring sysfs/json events consistently (with or without a given
> PMU) will enable RISC-V's hope to customize legacy events in the perf
> tool.
>

Thanks for remapping legacy events in a generic way. This looks great
and got rid of my
ugly arch specific way of remapping. Is there a good way for the
driver (e.g via sysfs) to tell the perf tool
whether to remap the legacy event or not ?

In RISC-V the legacy systems without the new ISA extension may not
want to remap if running
the latest kernel.

I described the problem in detail in the original thread as well.
https://lore.kernel.org/lkml/63d73f09-84e5-49e1-99f5-60f414b22d70@xxxxxxxxxxxx/

FWIW, for the entire series.
Tested-by: Atish Patra <atishp@xxxxxxxxxxxx>

> Some minor clean-up is performed on the way.
>
> v2. Additional cleanup particularly adding better error messages. Fix
> some line length issues on the earlier patches.
>
> Ian Rogers (16):
> perf parse-events: Factor out '<event_or_pmu>/.../' parsing
> perf parse-events: Directly pass PMU to parse_events_add_pmu
> perf parse-events: Avoid copying an empty list
> perf pmu: Refactor perf_pmu__match
> perf tests parse-events: Use branches rather than cache-references
> perf parse-events: Legacy cache names on all PMUs and lower priority
> perf parse-events: Handle PE_TERM_HW in name_or_raw
> perf parse-events: Constify parse_events_add_numeric
> perf parse-events: Prefer sysfs/json hardware events over legacy
> perf parse-events: Inline parse_events_update_lists
> perf parse-events: Improve error message for bad numbers
> perf parse-events: Inline parse_events_evlist_error
> perf parse-events: Improvements to modifier parsing
> perf parse-event: Constify event_symbol arrays
> perf parse-events: Minor grouping tidy up
> perf parse-events: Tidy the setting of the default event name
>
> tools/perf/tests/parse-events.c | 6 +-
> tools/perf/util/parse-events.c | 482 ++++++++++++++++----------------
> tools/perf/util/parse-events.h | 49 ++--
> tools/perf/util/parse-events.l | 196 +++++++++----
> tools/perf/util/parse-events.y | 261 +++++++----------
> tools/perf/util/pmu.c | 27 +-
> tools/perf/util/pmu.h | 2 +-
> 7 files changed, 540 insertions(+), 483 deletions(-)
>
> --
> 2.44.0.683.g7961c838ac-goog
>