lkml.org 
[lkml]   [2021]   [Jul]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [bug report] Patch "perf tools: Fix pattern matching for same substring in different pmu type" broken
From
Date
Hi John, Hi Arnaldo,

On 7/19/2021 10:13 PM, John Garry wrote:
> 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.
>

It looks that the PMU alias format on arm64 has big difference than the format on x86. My new idea
is we create a x86 specific perf_pmu__valid_suffix, and for other arch, the weak function always
returns true. That will not change original behavior.

What do you think?

> 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@vger.kernel.org as in the MAINTAINERS file in future, as not all
> subscribe to the open kernel list (and so cannot easily reply directly).
>

Sorry about that! I will remember that, cc linux-perf-users@vger.kernel.org in next patch.

Thanks
Jin Yao

\
 
 \ /
  Last update: 2021-07-20 07:59    [W:0.995 / U:0.544 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site