• Kan Liang's avatar
    perf mem: Check mem_events for all eligible PMUs · 6e05d28f
    Kan Liang authored
    The current perf_pmu__mem_events_init() only checks the availability of
    the mem_events for the first eligible PMU. It works for non-hybrid
    machines and hybrid machines that have the same mem_events.
    
    However, it may bring issues if a hybrid machine has a different
    mem_events on different PMU, e.g., Alder Lake and Raptor Lake. A
    mem-loads-aux event is only required for the p-core. The mem_events on
    both e-core and p-core should be checked and marked.
    
    The issue was not found, because it's hidden by another bug, which only
    records the mem-events for the e-core. The wrong check for the p-core
    events didn't yell.
    
    Fixes: abbdd79b ("perf mem: Clean up perf_mem_events__name()")
    Signed-off-by: default avatarKan Liang <kan.liang@linux.intel.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Ian Rogers <irogers@google.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lore.kernel.org/r/20240905170737.4070743-1-kan.liang@linux.intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    6e05d28f
mem-events.c 16.8 KB