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

Jin, Yao
2021-08-05T05:43:04Z

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@linux.intel.com>
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