Hi guys,
The named patch has broken PMU alias matching on my arm64 system.
Specifically it is broken for when multiple tokens are used in the alias. For example, alias "hisi_sccl,l3c" would previously match for PMU "hisi_sccl3_l3c7", but that no longer works.
In my example, in looking at the code, the callchain pmu_uncore_alias_match("hisi_sccl,l3c", "hisi_sccl3_l3c7") -> per_pmu__valid_suffix("hisi_sccl3_l3c7", "hisi_sccl") fails in the following check:
static bool perf_pmu__valid_suffix(char *pmu_name, char *tok)
{
char *p;
...
p = pmu_name + strlen(tok);
...
if (*p != '_') //here
return false;
}
This check assumes the first token must be followed by a '_', but it is possibly a numeric.
Please let me know how this should work. Previously it would match on the tokens, ignoring numerics and '_'.
As an aside, I'll look at why our testcases don't cover this scenario and look to add a test if necessary.
Thanks,
john
Ps, please cc linux-perf-users@xxxxxxxxxxxxxxx as in the MAINTAINERS file in future, as not all subscribe to the open kernel list (and so cannot easily reply directly).