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 >