[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <12dbc1f5-022d-4653-8ac7-01c503a860dd@linux.intel.com>
Date: Wed, 21 Jan 2026 16:02:23 +0800
From: "Mi, Dapeng" <dapeng1.mi@...ux.intel.com>
To: Ian Rogers <irogers@...gle.com>, Zide Chen <zide.chen@...el.com>
Cc: Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Namhyung Kim <namhyung@...nel.org>, Adrian Hunter <adrian.hunter@...el.com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Andi Kleen <ak@...ux.intel.com>, Eranian Stephane <eranian@...gle.com>,
linux-kernel@...r.kernel.org, linux-perf-users@...r.kernel.org,
Xudong Hao <xudong.hao@...el.com>, Falcon Thomas <thomas.falcon@...el.com>
Subject: Re: [PATCH V2 11/13] perf pmu: Relax uncore wildcard matching to
allow numeric suffix
On 1/21/2026 3:18 PM, Ian Rogers wrote:
> On Wed, Dec 31, 2025 at 2:49 PM Zide Chen <zide.chen@...el.com> wrote:
>> Diamond Rapids introduces two types of PCIe related uncore PMUs:
>> "uncore_pcie4_*" and "uncore_pcie6_*".
>>
>> To ensure that generic PCIe events (e.g., UNC_PCIE_CLOCKTICKS) can match
>> and collect events from both PMU types, slightly relax the wildcard
>> matching logic in perf_pmu__match_wildcard().
>>
>> This change allows a wildcard such as "pcie" to match PMU names that
>> include a numeric suffix, such as "pcie4_*" and "pcie6_*".
>>
>> Co-developed-by: Dapeng Mi <dapeng1.mi@...ux.intel.com>
>> Signed-off-by: Dapeng Mi <dapeng1.mi@...ux.intel.com>
>> Reviewed-by: Dapeng Mi <dapeng1.mi@...ux.intel.com>
>> Signed-off-by: Zide Chen <zide.chen@...el.com>
> Can we not merge this. I'd missed a perf tool patch as it was hiding
> in a bunch of kernel uncore updates. At the very least if wildcard
> conventions are updated then the corresponding documentation needs
> updating:
> Documentation/ABI/testing/sysfs-bus-event_source-devices
Ian, thanks for the information. We didn't notice there is such
documentation to describe the name. :(
Besides the documentation, are there other comments? We can update it
together. Thanks.
>
> Thanks,
> Ian
>
>> ---
>> tools/perf/util/pmu.c | 14 ++++++++------
>> 1 file changed, 8 insertions(+), 6 deletions(-)
>>
>> diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c
>> index 956ea273c2c7..01a21b6aa031 100644
>> --- a/tools/perf/util/pmu.c
>> +++ b/tools/perf/util/pmu.c
>> @@ -939,6 +939,7 @@ static bool perf_pmu__match_wildcard(const char *pmu_name, const char *tok)
>> {
>> const char *p, *suffix;
>> bool has_hex = false;
>> + bool has_underscore = false;
>> size_t tok_len = strlen(tok);
>>
>> /* Check start of pmu_name for equality. */
>> @@ -949,13 +950,14 @@ static bool perf_pmu__match_wildcard(const char *pmu_name, const char *tok)
>> if (*p == 0)
>> return true;
>>
>> - if (*p == '_') {
>> - ++p;
>> - ++suffix;
>> - }
>> -
>> - /* Ensure we end in a number */
>> + /* Ensure we end in a number or a mix of number and "_". */
>> while (1) {
>> + if (!has_underscore && (*p == '_')) {
>> + has_underscore = true;
>> + ++p;
>> + ++suffix;
>> + }
>> +
>> if (!isxdigit(*p))
>> return false;
>> if (!has_hex)
>> --
>> 2.52.0
>>
Powered by blists - more mailing lists