Re: [PATCH v3] perf vendor events: Add metrics for Icelake Server

From: Jin, Yao
Date: Thu Aug 05 2021 - 01:43:08 EST


Hi Ian,

On 8/5/2021 1:09 PM, Ian Rogers wrote:
Hi,

I'm not sure what's happening but when I generate this using:
https://github.com/intel/event-converter-for-linux-perf

I see here:
"MetricExpr": "1 / IPC",

There are various other differences and so I've included the generated file.

Thanks,
Ian

Please see following commit in event-converter-for-linux-perf repo.

commit b2265b953d57130a2ad8255d126bb69cf8552898
Author: Jin Yao <yao.jin@xxxxxxxxxxxxxxx>
Date: Thu Jun 3 09:57:01 2021 +0800

Don't expand inner metric if possible

Before:

{
"MetricExpr": "1 / (INST_RETIRED.ANY / CPU_CLK_UNHALTED.THREAD)",
"BriefDescription": "Cycles Per Instruction (per Logical Processor)",
"MetricGroup": "Pipeline",
"MetricName": "CPI"
},

After:

{
"MetricExpr": "1 / IPC",
"BriefDescription": "Cycles Per Instruction (per Logical Processor)",
"MetricGroup": "Pipeline",
"MetricName": "CPI"
},

We also provide a new option '--expr-events' for checking if it's a complex
metric. For a simple metric, we probablly don't need to reuse the inner
metric. For a complex metric, it's useful to reuse the inner metric.

I enable the option '--expr-events' when generating the metrics JSON. Since CPI is a simple metric, so the inner metric is still expanded.

For cstate metrics, only Core C1/C6 and Package C2/C6 are supported for ICX. The cstate metrics are appended manually right now.

Thanks
Jin Yao