[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <80e089f6-12ab-b33c-d299-3f762e3a8d4f@oracle.com>
Date: Wed, 9 Aug 2023 14:54:11 +0100
From: John Garry <john.g.garry@...cle.com>
To: James Clark <james.clark@....com>,
linux-perf-users@...r.kernel.org, irogers@...gle.com,
renyu.zj@...ux.alibaba.com
Cc: Will Deacon <will@...nel.org>, Mike Leach <mike.leach@...aro.org>,
Leo Yan <leo.yan@...aro.org>,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...nel.org>,
Namhyung Kim <namhyung@...nel.org>,
Adrian Hunter <adrian.hunter@...el.com>,
Suzuki K Poulose <suzuki.poulose@....com>,
Kajol Jain <kjain@...ux.ibm.com>,
Kan Liang <kan.liang@...ux.intel.com>,
Nick Forrington <nick.forrington@....com>,
Eduard Zingerman <eddyz87@...il.com>,
Rob Herring <robh@...nel.org>, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, coresight@...ts.linaro.org
Subject: Re: [PATCH v4 5/6] perf vendor events arm64: Update stall_slot
workaround for N2 r0p3
On 09/08/2023 14:06, James Clark wrote:
>> "MetricExpr": "(op_retired / op_spec) * (1 - (stall_slot if
>> (cpuid_less_than(410fd493)) else (stall_slot - cpu_cycles)) / (#slots *
>> cpu_cycles))"
>>
>> I'm currently figuring out how cpuid_less_than() would be implemented
>> (I'm no great python wrangler), but it would be along the lines of what
>> Ian added for "has_event" in
>> https://urldefense.com/v3/__https://lore.kernel.org/linux-perf-users/20230623151016.4193660-1-irogers@google.com/__;!!ACWV5N9M2RV99hQ!PlOppEWtIj9jDW2Zlon0zRZVpzPTzPvm5Ho5NnRIN0vD78iFcEzMEAtsrW_MrRPiW84XhWpbhc3seQcmLu-BfQ$
>>
>> Thanks,
>> John
> Yeah it looks like it could be done that way. Also, the way I added it,
> it doesn't have access to the PMU type, it just does a generic
> pmu__find_core_pmu() so won't work very well for heterogeneous systems.
I haven't been keeping a close eye on the hybrid PMU support, but AFAIK
metrics for hybrid arm64 system, i.e. bL, aren't supported - maybe that
has changed. The gating for bL support was in pmu__find_core_pmu()
returning NULL for a hybrid system.
>
> If we're going to do a deeper modification of the expression parser like
> with has_event() it might be possible to pass in the actual CPU ID that
> the metric is running on which would be better.
>
> I'll have a look.
Thanks. I was playing with this yesterday, but I was making slow
progress. I was essentially following the has_event example, but the
argument type causes an issue, in that has_event expected an event name,
while we want to pass a hex string.
If you could check this then that would be great.
Thanks,
John
Powered by blists - more mailing lists