Re: [PATCH v1 15/15] perf vendor events intel: Add metricgroup descriptions for all models

From: Liang, Kan
Date: Tue May 16 2023 - 17:42:10 EST




On 2023-05-16 2:19 p.m., Ian Rogers wrote:
> On Tue, May 16, 2023 at 10:54 AM Liang, Kan <kan.liang@xxxxxxxxxxxxxxx> wrote:
>>
>>
>>
>> On 2023-05-15 5:58 p.m., Ian Rogers wrote:
>>> Add metric group descriptions created by:
>>> https://github.com/intel/perfmon/blob/main/scripts/create_perf_json.py
>>> The descriptions add some additional detail in perf list.
>>>
>>> Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
>>> ---
>>> .../arch/x86/alderlake/metricgroups.json | 122 ++++++++++++++++++
>>> .../arch/x86/alderlaken/metricgroups.json | 26 ++++
>>> .../arch/x86/broadwell/metricgroups.json | 107 +++++++++++++++
>>> .../arch/x86/broadwellde/metricgroups.json | 107 +++++++++++++++
>>> .../arch/x86/broadwellx/metricgroups.json | 107 +++++++++++++++
>>> .../arch/x86/cascadelakex/metricgroups.json | 114 ++++++++++++++++
>>> .../arch/x86/haswell/metricgroups.json | 107 +++++++++++++++
>>> .../arch/x86/haswellx/metricgroups.json | 107 +++++++++++++++
>>> .../arch/x86/icelake/metricgroups.json | 113 ++++++++++++++++
>>> .../arch/x86/icelakex/metricgroups.json | 114 ++++++++++++++++
>>> .../arch/x86/ivybridge/metricgroups.json | 107 +++++++++++++++
>>> .../arch/x86/ivytown/metricgroups.json | 107 +++++++++++++++
>>> .../arch/x86/jaketown/metricgroups.json | 100 ++++++++++++++
>>> .../arch/x86/sandybridge/metricgroups.json | 100 ++++++++++++++
>>> .../arch/x86/sapphirerapids/metricgroups.json | 118 +++++++++++++++++
>>> .../arch/x86/skylake/metricgroups.json | 113 ++++++++++++++++
>>> .../arch/x86/skylakex/metricgroups.json | 114 ++++++++++++++++
>>> .../arch/x86/tigerlake/metricgroups.json | 113 ++++++++++++++++
>>> 18 files changed, 1896 insertions(+)
>>> create mode 100644 tools/perf/pmu-events/arch/x86/alderlake/metricgroups.json
>>> create mode 100644 tools/perf/pmu-events/arch/x86/alderlaken/metricgroups.json
>>> create mode 100644 tools/perf/pmu-events/arch/x86/broadwell/metricgroups.json
>>> create mode 100644 tools/perf/pmu-events/arch/x86/broadwellde/metricgroups.json
>>> create mode 100644 tools/perf/pmu-events/arch/x86/broadwellx/metricgroups.json
>>> create mode 100644 tools/perf/pmu-events/arch/x86/cascadelakex/metricgroups.json
>>> create mode 100644 tools/perf/pmu-events/arch/x86/haswell/metricgroups.json
>>> create mode 100644 tools/perf/pmu-events/arch/x86/haswellx/metricgroups.json
>>> create mode 100644 tools/perf/pmu-events/arch/x86/icelake/metricgroups.json
>>> create mode 100644 tools/perf/pmu-events/arch/x86/icelakex/metricgroups.json
>>> create mode 100644 tools/perf/pmu-events/arch/x86/ivybridge/metricgroups.json
>>> create mode 100644 tools/perf/pmu-events/arch/x86/ivytown/metricgroups.json
>>> create mode 100644 tools/perf/pmu-events/arch/x86/jaketown/metricgroups.json
>>> create mode 100644 tools/perf/pmu-events/arch/x86/sandybridge/metricgroups.json
>>> create mode 100644 tools/perf/pmu-events/arch/x86/sapphirerapids/metricgroups.json
>>> create mode 100644 tools/perf/pmu-events/arch/x86/skylake/metricgroups.json
>>> create mode 100644 tools/perf/pmu-events/arch/x86/skylakex/metricgroups.json
>>> create mode 100644 tools/perf/pmu-events/arch/x86/tigerlake/metricgroups.json
>>>
>>> diff --git a/tools/perf/pmu-events/arch/x86/alderlake/metricgroups.json b/tools/perf/pmu-events/arch/x86/alderlake/metricgroups.json
>>> new file mode 100644
>>> index 000000000000..273ccfb0ed6f
>>> --- /dev/null
>>> +++ b/tools/perf/pmu-events/arch/x86/alderlake/metricgroups.json
>>> @@ -0,0 +1,122 @@
>>> +{
>>> + "Backend": "Grouping from metrics spreadsheet",
>>> + "Bad": "Grouping from metrics spreadsheet",
>>> + "BadSpec": "Grouping from metrics spreadsheet",
>>> + "BigFoot": "Grouping from metrics spreadsheet",
>>> + "BrMispredicts": "Grouping from metrics spreadsheet",
>>> + "Branches": "Grouping from metrics spreadsheet",
>>
>> The description "Grouping from metrics spreadsheet" seems meaningless,
>> and may bring confusion information, e.g., what is metrics spreadsheet?
>> I think it may be better to leave it empty if we don't have a proper
>> description for the metricgroup.
>
> Thanks Kan, the TMA spreadsheet has a column (AG in version 4.5-full)
> called Metric Group. For the level 3 ICache_Misses metric the value of
> the cell is "BigFoot;FetchLat;IcMiss". The converter will put these
> groups alongside the groups derived by level, parent/child
> relationship. A group like "BigFoot" could use some explanation. The
> intent with saying "Grouping from metrics spreadsheet" is to at least
> give the origin of the metric group which I think is at least a little
> bit better than saying nothing and not knowing the origin of where the
> grouping comes from. I'd like to do more, so I think we can iterate
> and improve, but I think this first step has some value.
>

So the groups with "Grouping from metrics spreadsheet" are all from the
"Metric Group" column, right?
I think the official name of TMA is Top-down Microarchitecture Analysis
Metrics. Can we change the description to "Grouping from Top-down
Microarchitecture Analysis Metrics spreadsheet"? If the end user
searches the name, they can be pointed to the correct spreadsheet file.

Thanks,
Kan