Hmm. The idea with this test is to see if the architecture supportsSo I think fixing all of these should be a follow up. I am working toI think we can use pmu_name to replace the "cpu" to fix the issue for
get access to an Alderlake system, could we land this first?
the hybrid platform. For a hybrid platform, the pmu_name is either
cpu_atom or cpu_core.
Besides, the topdown events may have a PMU prefix, e.g.,
cpu_core/topdown-be-bound/. The strcasecmp may not work well for this case.
How about the below patch?
If it's OK for you, could you please merge it into your V2 patch set?
I can do the test on a ADL system.
diff --git a/tools/perf/arch/x86/util/evsel.c
b/tools/perf/arch/x86/util/evsel.c
index 40b171de2086..551ae2bab70e 100644
--- a/tools/perf/arch/x86/util/evsel.c
+++ b/tools/perf/arch/x86/util/evsel.c
@@ -33,11 +33,12 @@ void arch_evsel__fixup_new_cycles(struct
perf_event_attr *attr)
bool arch_evsel__must_be_in_group(const struct evsel *evsel)
{
- if ((evsel->pmu_name && strcmp(evsel->pmu_name, "cpu")) ||
- !pmu_have_event("cpu", "slots"))
+ const char *pmu_name = evsel->pmu_name ? evsel->pmu_name : "cpu";
+
+ if (!pmu_have_event(pmu_name, "slots"))
return false;
topdown events before going further. There's a similar test in all the
arch_evlist functions. I think with cpu_core this needs to become:
if (!pmu_have_event("cpu", "slots") && !pmu_have_event("cpu_core", "slots") )
But we should add a helper function for this. It is odd to have this
change supporting Alderlake but the existing evlist work not. Perhaps
we should just wait until Zhengjun's patches land.