mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Ian Rogers <irogers@google.com>
To: Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
	Ian Rogers <irogers@google.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Kan Liang <kan.liang@linux.intel.com>,
	Zhengjun Xing <zhengjun.xing@linux.intel.com>,
	John Garry <john.garry@huawei.com>,
	Kajol Jain <kjain@linux.ibm.com>,
	Thomas Richter <tmricht@linux.ibm.com>,
	linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org
Subject: [PATCH v1 15/15] perf vendor events intel: Add metricgroup descriptions for all models
Date: Mon, 15 May 2023 14:58:44 -0700	[thread overview]
Message-ID: <20230515215844.653610-16-irogers@google.com> (raw)
In-Reply-To: <20230515215844.653610-1-irogers@google.com>

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@google.com>
---
 .../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",
+    "CacheMisses": "Grouping from metrics spreadsheet",
+    "CodeGen": "Grouping from metrics spreadsheet",
+    "Compute": "Grouping from metrics spreadsheet",
+    "Cor": "Grouping from metrics spreadsheet",
+    "DSB": "Grouping from metrics spreadsheet",
+    "DSBmiss": "Grouping from metrics spreadsheet",
+    "DataSharing": "Grouping from metrics spreadsheet",
+    "Fed": "Grouping from metrics spreadsheet",
+    "FetchBW": "Grouping from metrics spreadsheet",
+    "FetchLat": "Grouping from metrics spreadsheet",
+    "Flops": "Grouping from metrics spreadsheet",
+    "FpScalar": "Grouping from metrics spreadsheet",
+    "FpVector": "Grouping from metrics spreadsheet",
+    "Frontend": "Grouping from metrics spreadsheet",
+    "HPC": "Grouping from metrics spreadsheet",
+    "IcMiss": "Grouping from metrics spreadsheet",
+    "InsType": "Grouping from metrics spreadsheet",
+    "IntVector": "Grouping from metrics spreadsheet",
+    "L2Evicts": "Grouping from metrics spreadsheet",
+    "LSD": "Grouping from metrics spreadsheet",
+    "MachineClears": "Grouping from metrics spreadsheet",
+    "Mem": "Grouping from metrics spreadsheet",
+    "MemoryBW": "Grouping from metrics spreadsheet",
+    "MemoryBound": "Grouping from metrics spreadsheet",
+    "MemoryLat": "Grouping from metrics spreadsheet",
+    "MemoryTLB": "Grouping from metrics spreadsheet",
+    "Memory_BW": "Grouping from metrics spreadsheet",
+    "Memory_Lat": "Grouping from metrics spreadsheet",
+    "MicroSeq": "Grouping from metrics spreadsheet",
+    "OS": "Grouping from metrics spreadsheet",
+    "Offcore": "Grouping from metrics spreadsheet",
+    "PGO": "Grouping from metrics spreadsheet",
+    "Pipeline": "Grouping from metrics spreadsheet",
+    "PortsUtil": "Grouping from metrics spreadsheet",
+    "Power": "Grouping from metrics spreadsheet",
+    "Prefetches": "Grouping from metrics spreadsheet",
+    "Ret": "Grouping from metrics spreadsheet",
+    "Retire": "Grouping from metrics spreadsheet",
+    "SMT": "Grouping from metrics spreadsheet",
+    "Server": "Grouping from metrics spreadsheet",
+    "Snoop": "Grouping from metrics spreadsheet",
+    "SoC": "Grouping from metrics spreadsheet",
+    "Summary": "Grouping from metrics spreadsheet",
+    "TmaL1": "Grouping from metrics spreadsheet",
+    "TmaL2": "Grouping from metrics spreadsheet",
+    "TmaL3mem": "Grouping from metrics spreadsheet",
+    "TopdownL1": "Metrics for top-down breakdown at level 1",
+    "TopdownL2": "Metrics for top-down breakdown at level 2",
+    "TopdownL3": "Metrics for top-down breakdown at level 3",
+    "TopdownL4": "Metrics for top-down breakdown at level 4",
+    "TopdownL5": "Metrics for top-down breakdown at level 5",
+    "TopdownL6": "Metrics for top-down breakdown at level 6",
+    "tma_L1_group": "Metrics for top-down breakdown at level 1",
+    "tma_L2_group": "Metrics for top-down breakdown at level 2",
+    "tma_L3_group": "Metrics for top-down breakdown at level 3",
+    "tma_L4_group": "Metrics for top-down breakdown at level 4",
+    "tma_L5_group": "Metrics for top-down breakdown at level 5",
+    "tma_L6_group": "Metrics for top-down breakdown at level 6",
+    "tma_alu_op_utilization_group": "Metrics contributing to tma_alu_op_utilization category",
+    "tma_assists_group": "Metrics contributing to tma_assists category",
+    "tma_backend_bound_aux_group": "Metrics contributing to tma_backend_bound_aux category",
+    "tma_backend_bound_group": "Metrics contributing to tma_backend_bound category",
+    "tma_bad_speculation_group": "Metrics contributing to tma_bad_speculation category",
+    "tma_base_group": "Metrics contributing to tma_base category",
+    "tma_branch_resteers_group": "Metrics contributing to tma_branch_resteers category",
+    "tma_core_bound_group": "Metrics contributing to tma_core_bound category",
+    "tma_dram_bound_group": "Metrics contributing to tma_dram_bound category",
+    "tma_dtlb_load_group": "Metrics contributing to tma_dtlb_load category",
+    "tma_dtlb_store_group": "Metrics contributing to tma_dtlb_store category",
+    "tma_fetch_bandwidth_group": "Metrics contributing to tma_fetch_bandwidth category",
+    "tma_fetch_latency_group": "Metrics contributing to tma_fetch_latency category",
+    "tma_fp_arith_group": "Metrics contributing to tma_fp_arith category",
+    "tma_fp_vector_group": "Metrics contributing to tma_fp_vector category",
+    "tma_frontend_bound_group": "Metrics contributing to tma_frontend_bound category",
+    "tma_heavy_operations_group": "Metrics contributing to tma_heavy_operations category",
+    "tma_int_operations_group": "Metrics contributing to tma_int_operations category",
+    "tma_issue2P": "Metrics related by the issue $issue2P",
+    "tma_issueBC": "Metrics related by the issue $issueBC",
+    "tma_issueBM": "Metrics related by the issue $issueBM",
+    "tma_issueBW": "Metrics related by the issue $issueBW",
+    "tma_issueD0": "Metrics related by the issue $issueD0",
+    "tma_issueFB": "Metrics related by the issue $issueFB",
+    "tma_issueFL": "Metrics related by the issue $issueFL",
+    "tma_issueL1": "Metrics related by the issue $issueL1",
+    "tma_issueLat": "Metrics related by the issue $issueLat",
+    "tma_issueMC": "Metrics related by the issue $issueMC",
+    "tma_issueMS": "Metrics related by the issue $issueMS",
+    "tma_issueMV": "Metrics related by the issue $issueMV",
+    "tma_issueRFO": "Metrics related by the issue $issueRFO",
+    "tma_issueSL": "Metrics related by the issue $issueSL",
+    "tma_issueSO": "Metrics related by the issue $issueSO",
+    "tma_issueSmSt": "Metrics related by the issue $issueSmSt",
+    "tma_issueSpSt": "Metrics related by the issue $issueSpSt",
+    "tma_issueSyncxn": "Metrics related by the issue $issueSyncxn",
+    "tma_issueTLB": "Metrics related by the issue $issueTLB",
+    "tma_l1_bound_group": "Metrics contributing to tma_l1_bound category",
+    "tma_l3_bound_group": "Metrics contributing to tma_l3_bound category",
+    "tma_light_operations_group": "Metrics contributing to tma_light_operations category",
+    "tma_load_op_utilization_group": "Metrics contributing to tma_load_op_utilization category",
+    "tma_machine_clears_group": "Metrics contributing to tma_machine_clears category",
+    "tma_mem_latency_group": "Metrics contributing to tma_mem_latency category",
+    "tma_mem_scheduler_group": "Metrics contributing to tma_mem_scheduler category",
+    "tma_memory_bound_group": "Metrics contributing to tma_memory_bound category",
+    "tma_microcode_sequencer_group": "Metrics contributing to tma_microcode_sequencer category",
+    "tma_mite_group": "Metrics contributing to tma_mite category",
+    "tma_nuke_group": "Metrics contributing to tma_nuke category",
+    "tma_ports_utilization_group": "Metrics contributing to tma_ports_utilization category",
+    "tma_ports_utilized_0_group": "Metrics contributing to tma_ports_utilized_0 category",
+    "tma_ports_utilized_3m_group": "Metrics contributing to tma_ports_utilized_3m category",
+    "tma_resource_bound_group": "Metrics contributing to tma_resource_bound category",
+    "tma_retiring_group": "Metrics contributing to tma_retiring category",
+    "tma_serializing_operation_group": "Metrics contributing to tma_serializing_operation category",
+    "tma_store_bound_group": "Metrics contributing to tma_store_bound category",
+    "tma_store_op_utilization_group": "Metrics contributing to tma_store_op_utilization category"
+}
diff --git a/tools/perf/pmu-events/arch/x86/alderlaken/metricgroups.json b/tools/perf/pmu-events/arch/x86/alderlaken/metricgroups.json
new file mode 100644
index 000000000000..ca46d4202c46
--- /dev/null
+++ b/tools/perf/pmu-events/arch/x86/alderlaken/metricgroups.json
@@ -0,0 +1,26 @@
+{
+    "Power": "Grouping from metrics spreadsheet",
+    "Summary": "Grouping from metrics spreadsheet",
+    "TopdownL1": "Metrics for top-down breakdown at level 1",
+    "TopdownL2": "Metrics for top-down breakdown at level 2",
+    "TopdownL3": "Metrics for top-down breakdown at level 3",
+    "TopdownL4": "Metrics for top-down breakdown at level 4",
+    "tma_L1_group": "Metrics for top-down breakdown at level 1",
+    "tma_L2_group": "Metrics for top-down breakdown at level 2",
+    "tma_L3_group": "Metrics for top-down breakdown at level 3",
+    "tma_L4_group": "Metrics for top-down breakdown at level 4",
+    "tma_backend_bound_aux_group": "Metrics contributing to tma_backend_bound_aux category",
+    "tma_backend_bound_group": "Metrics contributing to tma_backend_bound category",
+    "tma_bad_speculation_group": "Metrics contributing to tma_bad_speculation category",
+    "tma_base_group": "Metrics contributing to tma_base category",
+    "tma_fetch_bandwidth_group": "Metrics contributing to tma_fetch_bandwidth category",
+    "tma_fetch_latency_group": "Metrics contributing to tma_fetch_latency category",
+    "tma_frontend_bound_group": "Metrics contributing to tma_frontend_bound category",
+    "tma_l1_bound_group": "Metrics contributing to tma_l1_bound category",
+    "tma_machine_clears_group": "Metrics contributing to tma_machine_clears category",
+    "tma_mem_scheduler_group": "Metrics contributing to tma_mem_scheduler category",
+    "tma_memory_bound_group": "Metrics contributing to tma_memory_bound category",
+    "tma_nuke_group": "Metrics contributing to tma_nuke category",
+    "tma_resource_bound_group": "Metrics contributing to tma_resource_bound category",
+    "tma_retiring_group": "Metrics contributing to tma_retiring category"
+}
diff --git a/tools/perf/pmu-events/arch/x86/broadwell/metricgroups.json b/tools/perf/pmu-events/arch/x86/broadwell/metricgroups.json
new file mode 100644
index 000000000000..92b491d8f2f3
--- /dev/null
+++ b/tools/perf/pmu-events/arch/x86/broadwell/metricgroups.json
@@ -0,0 +1,107 @@
+{
+    "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",
+    "CacheMisses": "Grouping from metrics spreadsheet",
+    "Compute": "Grouping from metrics spreadsheet",
+    "Cor": "Grouping from metrics spreadsheet",
+    "DSB": "Grouping from metrics spreadsheet",
+    "DSBmiss": "Grouping from metrics spreadsheet",
+    "DataSharing": "Grouping from metrics spreadsheet",
+    "Fed": "Grouping from metrics spreadsheet",
+    "FetchBW": "Grouping from metrics spreadsheet",
+    "FetchLat": "Grouping from metrics spreadsheet",
+    "Flops": "Grouping from metrics spreadsheet",
+    "FpScalar": "Grouping from metrics spreadsheet",
+    "FpVector": "Grouping from metrics spreadsheet",
+    "Frontend": "Grouping from metrics spreadsheet",
+    "HPC": "Grouping from metrics spreadsheet",
+    "IcMiss": "Grouping from metrics spreadsheet",
+    "InsType": "Grouping from metrics spreadsheet",
+    "L2Evicts": "Grouping from metrics spreadsheet",
+    "LSD": "Grouping from metrics spreadsheet",
+    "MachineClears": "Grouping from metrics spreadsheet",
+    "Mem": "Grouping from metrics spreadsheet",
+    "MemoryBW": "Grouping from metrics spreadsheet",
+    "MemoryBound": "Grouping from metrics spreadsheet",
+    "MemoryLat": "Grouping from metrics spreadsheet",
+    "MemoryTLB": "Grouping from metrics spreadsheet",
+    "Memory_BW": "Grouping from metrics spreadsheet",
+    "Memory_Lat": "Grouping from metrics spreadsheet",
+    "MicroSeq": "Grouping from metrics spreadsheet",
+    "OS": "Grouping from metrics spreadsheet",
+    "Offcore": "Grouping from metrics spreadsheet",
+    "PGO": "Grouping from metrics spreadsheet",
+    "Pipeline": "Grouping from metrics spreadsheet",
+    "PortsUtil": "Grouping from metrics spreadsheet",
+    "Power": "Grouping from metrics spreadsheet",
+    "Ret": "Grouping from metrics spreadsheet",
+    "Retire": "Grouping from metrics spreadsheet",
+    "SMT": "Grouping from metrics spreadsheet",
+    "Server": "Grouping from metrics spreadsheet",
+    "Snoop": "Grouping from metrics spreadsheet",
+    "SoC": "Grouping from metrics spreadsheet",
+    "Summary": "Grouping from metrics spreadsheet",
+    "TmaL1": "Grouping from metrics spreadsheet",
+    "TmaL2": "Grouping from metrics spreadsheet",
+    "TmaL3mem": "Grouping from metrics spreadsheet",
+    "TopdownL1": "Metrics for top-down breakdown at level 1",
+    "TopdownL2": "Metrics for top-down breakdown at level 2",
+    "TopdownL3": "Metrics for top-down breakdown at level 3",
+    "TopdownL4": "Metrics for top-down breakdown at level 4",
+    "TopdownL5": "Metrics for top-down breakdown at level 5",
+    "TopdownL6": "Metrics for top-down breakdown at level 6",
+    "tma_L1_group": "Metrics for top-down breakdown at level 1",
+    "tma_L2_group": "Metrics for top-down breakdown at level 2",
+    "tma_L3_group": "Metrics for top-down breakdown at level 3",
+    "tma_L4_group": "Metrics for top-down breakdown at level 4",
+    "tma_L5_group": "Metrics for top-down breakdown at level 5",
+    "tma_L6_group": "Metrics for top-down breakdown at level 6",
+    "tma_alu_op_utilization_group": "Metrics contributing to tma_alu_op_utilization category",
+    "tma_backend_bound_group": "Metrics contributing to tma_backend_bound category",
+    "tma_bad_speculation_group": "Metrics contributing to tma_bad_speculation category",
+    "tma_branch_resteers_group": "Metrics contributing to tma_branch_resteers category",
+    "tma_core_bound_group": "Metrics contributing to tma_core_bound category",
+    "tma_dram_bound_group": "Metrics contributing to tma_dram_bound category",
+    "tma_dtlb_load_group": "Metrics contributing to tma_dtlb_load category",
+    "tma_dtlb_store_group": "Metrics contributing to tma_dtlb_store category",
+    "tma_fetch_bandwidth_group": "Metrics contributing to tma_fetch_bandwidth category",
+    "tma_fetch_latency_group": "Metrics contributing to tma_fetch_latency category",
+    "tma_fp_arith_group": "Metrics contributing to tma_fp_arith category",
+    "tma_fp_vector_group": "Metrics contributing to tma_fp_vector category",
+    "tma_frontend_bound_group": "Metrics contributing to tma_frontend_bound category",
+    "tma_heavy_operations_group": "Metrics contributing to tma_heavy_operations category",
+    "tma_issue2P": "Metrics related by the issue $issue2P",
+    "tma_issueBM": "Metrics related by the issue $issueBM",
+    "tma_issueBW": "Metrics related by the issue $issueBW",
+    "tma_issueFB": "Metrics related by the issue $issueFB",
+    "tma_issueL1": "Metrics related by the issue $issueL1",
+    "tma_issueLat": "Metrics related by the issue $issueLat",
+    "tma_issueMC": "Metrics related by the issue $issueMC",
+    "tma_issueMS": "Metrics related by the issue $issueMS",
+    "tma_issueMV": "Metrics related by the issue $issueMV",
+    "tma_issueRFO": "Metrics related by the issue $issueRFO",
+    "tma_issueSL": "Metrics related by the issue $issueSL",
+    "tma_issueSO": "Metrics related by the issue $issueSO",
+    "tma_issueSmSt": "Metrics related by the issue $issueSmSt",
+    "tma_issueSpSt": "Metrics related by the issue $issueSpSt",
+    "tma_issueSyncxn": "Metrics related by the issue $issueSyncxn",
+    "tma_issueTLB": "Metrics related by the issue $issueTLB",
+    "tma_l1_bound_group": "Metrics contributing to tma_l1_bound category",
+    "tma_l3_bound_group": "Metrics contributing to tma_l3_bound category",
+    "tma_light_operations_group": "Metrics contributing to tma_light_operations category",
+    "tma_load_op_utilization_group": "Metrics contributing to tma_load_op_utilization category",
+    "tma_mem_latency_group": "Metrics contributing to tma_mem_latency category",
+    "tma_memory_bound_group": "Metrics contributing to tma_memory_bound category",
+    "tma_microcode_sequencer_group": "Metrics contributing to tma_microcode_sequencer category",
+    "tma_ports_utilization_group": "Metrics contributing to tma_ports_utilization category",
+    "tma_ports_utilized_0_group": "Metrics contributing to tma_ports_utilized_0 category",
+    "tma_ports_utilized_3m_group": "Metrics contributing to tma_ports_utilized_3m category",
+    "tma_retiring_group": "Metrics contributing to tma_retiring category",
+    "tma_serializing_operation_group": "Metrics contributing to tma_serializing_operation category",
+    "tma_store_bound_group": "Metrics contributing to tma_store_bound category",
+    "tma_store_op_utilization_group": "Metrics contributing to tma_store_op_utilization category"
+}
diff --git a/tools/perf/pmu-events/arch/x86/broadwellde/metricgroups.json b/tools/perf/pmu-events/arch/x86/broadwellde/metricgroups.json
new file mode 100644
index 000000000000..92b491d8f2f3
--- /dev/null
+++ b/tools/perf/pmu-events/arch/x86/broadwellde/metricgroups.json
@@ -0,0 +1,107 @@
+{
+    "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",
+    "CacheMisses": "Grouping from metrics spreadsheet",
+    "Compute": "Grouping from metrics spreadsheet",
+    "Cor": "Grouping from metrics spreadsheet",
+    "DSB": "Grouping from metrics spreadsheet",
+    "DSBmiss": "Grouping from metrics spreadsheet",
+    "DataSharing": "Grouping from metrics spreadsheet",
+    "Fed": "Grouping from metrics spreadsheet",
+    "FetchBW": "Grouping from metrics spreadsheet",
+    "FetchLat": "Grouping from metrics spreadsheet",
+    "Flops": "Grouping from metrics spreadsheet",
+    "FpScalar": "Grouping from metrics spreadsheet",
+    "FpVector": "Grouping from metrics spreadsheet",
+    "Frontend": "Grouping from metrics spreadsheet",
+    "HPC": "Grouping from metrics spreadsheet",
+    "IcMiss": "Grouping from metrics spreadsheet",
+    "InsType": "Grouping from metrics spreadsheet",
+    "L2Evicts": "Grouping from metrics spreadsheet",
+    "LSD": "Grouping from metrics spreadsheet",
+    "MachineClears": "Grouping from metrics spreadsheet",
+    "Mem": "Grouping from metrics spreadsheet",
+    "MemoryBW": "Grouping from metrics spreadsheet",
+    "MemoryBound": "Grouping from metrics spreadsheet",
+    "MemoryLat": "Grouping from metrics spreadsheet",
+    "MemoryTLB": "Grouping from metrics spreadsheet",
+    "Memory_BW": "Grouping from metrics spreadsheet",
+    "Memory_Lat": "Grouping from metrics spreadsheet",
+    "MicroSeq": "Grouping from metrics spreadsheet",
+    "OS": "Grouping from metrics spreadsheet",
+    "Offcore": "Grouping from metrics spreadsheet",
+    "PGO": "Grouping from metrics spreadsheet",
+    "Pipeline": "Grouping from metrics spreadsheet",
+    "PortsUtil": "Grouping from metrics spreadsheet",
+    "Power": "Grouping from metrics spreadsheet",
+    "Ret": "Grouping from metrics spreadsheet",
+    "Retire": "Grouping from metrics spreadsheet",
+    "SMT": "Grouping from metrics spreadsheet",
+    "Server": "Grouping from metrics spreadsheet",
+    "Snoop": "Grouping from metrics spreadsheet",
+    "SoC": "Grouping from metrics spreadsheet",
+    "Summary": "Grouping from metrics spreadsheet",
+    "TmaL1": "Grouping from metrics spreadsheet",
+    "TmaL2": "Grouping from metrics spreadsheet",
+    "TmaL3mem": "Grouping from metrics spreadsheet",
+    "TopdownL1": "Metrics for top-down breakdown at level 1",
+    "TopdownL2": "Metrics for top-down breakdown at level 2",
+    "TopdownL3": "Metrics for top-down breakdown at level 3",
+    "TopdownL4": "Metrics for top-down breakdown at level 4",
+    "TopdownL5": "Metrics for top-down breakdown at level 5",
+    "TopdownL6": "Metrics for top-down breakdown at level 6",
+    "tma_L1_group": "Metrics for top-down breakdown at level 1",
+    "tma_L2_group": "Metrics for top-down breakdown at level 2",
+    "tma_L3_group": "Metrics for top-down breakdown at level 3",
+    "tma_L4_group": "Metrics for top-down breakdown at level 4",
+    "tma_L5_group": "Metrics for top-down breakdown at level 5",
+    "tma_L6_group": "Metrics for top-down breakdown at level 6",
+    "tma_alu_op_utilization_group": "Metrics contributing to tma_alu_op_utilization category",
+    "tma_backend_bound_group": "Metrics contributing to tma_backend_bound category",
+    "tma_bad_speculation_group": "Metrics contributing to tma_bad_speculation category",
+    "tma_branch_resteers_group": "Metrics contributing to tma_branch_resteers category",
+    "tma_core_bound_group": "Metrics contributing to tma_core_bound category",
+    "tma_dram_bound_group": "Metrics contributing to tma_dram_bound category",
+    "tma_dtlb_load_group": "Metrics contributing to tma_dtlb_load category",
+    "tma_dtlb_store_group": "Metrics contributing to tma_dtlb_store category",
+    "tma_fetch_bandwidth_group": "Metrics contributing to tma_fetch_bandwidth category",
+    "tma_fetch_latency_group": "Metrics contributing to tma_fetch_latency category",
+    "tma_fp_arith_group": "Metrics contributing to tma_fp_arith category",
+    "tma_fp_vector_group": "Metrics contributing to tma_fp_vector category",
+    "tma_frontend_bound_group": "Metrics contributing to tma_frontend_bound category",
+    "tma_heavy_operations_group": "Metrics contributing to tma_heavy_operations category",
+    "tma_issue2P": "Metrics related by the issue $issue2P",
+    "tma_issueBM": "Metrics related by the issue $issueBM",
+    "tma_issueBW": "Metrics related by the issue $issueBW",
+    "tma_issueFB": "Metrics related by the issue $issueFB",
+    "tma_issueL1": "Metrics related by the issue $issueL1",
+    "tma_issueLat": "Metrics related by the issue $issueLat",
+    "tma_issueMC": "Metrics related by the issue $issueMC",
+    "tma_issueMS": "Metrics related by the issue $issueMS",
+    "tma_issueMV": "Metrics related by the issue $issueMV",
+    "tma_issueRFO": "Metrics related by the issue $issueRFO",
+    "tma_issueSL": "Metrics related by the issue $issueSL",
+    "tma_issueSO": "Metrics related by the issue $issueSO",
+    "tma_issueSmSt": "Metrics related by the issue $issueSmSt",
+    "tma_issueSpSt": "Metrics related by the issue $issueSpSt",
+    "tma_issueSyncxn": "Metrics related by the issue $issueSyncxn",
+    "tma_issueTLB": "Metrics related by the issue $issueTLB",
+    "tma_l1_bound_group": "Metrics contributing to tma_l1_bound category",
+    "tma_l3_bound_group": "Metrics contributing to tma_l3_bound category",
+    "tma_light_operations_group": "Metrics contributing to tma_light_operations category",
+    "tma_load_op_utilization_group": "Metrics contributing to tma_load_op_utilization category",
+    "tma_mem_latency_group": "Metrics contributing to tma_mem_latency category",
+    "tma_memory_bound_group": "Metrics contributing to tma_memory_bound category",
+    "tma_microcode_sequencer_group": "Metrics contributing to tma_microcode_sequencer category",
+    "tma_ports_utilization_group": "Metrics contributing to tma_ports_utilization category",
+    "tma_ports_utilized_0_group": "Metrics contributing to tma_ports_utilized_0 category",
+    "tma_ports_utilized_3m_group": "Metrics contributing to tma_ports_utilized_3m category",
+    "tma_retiring_group": "Metrics contributing to tma_retiring category",
+    "tma_serializing_operation_group": "Metrics contributing to tma_serializing_operation category",
+    "tma_store_bound_group": "Metrics contributing to tma_store_bound category",
+    "tma_store_op_utilization_group": "Metrics contributing to tma_store_op_utilization category"
+}
diff --git a/tools/perf/pmu-events/arch/x86/broadwellx/metricgroups.json b/tools/perf/pmu-events/arch/x86/broadwellx/metricgroups.json
new file mode 100644
index 000000000000..92b491d8f2f3
--- /dev/null
+++ b/tools/perf/pmu-events/arch/x86/broadwellx/metricgroups.json
@@ -0,0 +1,107 @@
+{
+    "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",
+    "CacheMisses": "Grouping from metrics spreadsheet",
+    "Compute": "Grouping from metrics spreadsheet",
+    "Cor": "Grouping from metrics spreadsheet",
+    "DSB": "Grouping from metrics spreadsheet",
+    "DSBmiss": "Grouping from metrics spreadsheet",
+    "DataSharing": "Grouping from metrics spreadsheet",
+    "Fed": "Grouping from metrics spreadsheet",
+    "FetchBW": "Grouping from metrics spreadsheet",
+    "FetchLat": "Grouping from metrics spreadsheet",
+    "Flops": "Grouping from metrics spreadsheet",
+    "FpScalar": "Grouping from metrics spreadsheet",
+    "FpVector": "Grouping from metrics spreadsheet",
+    "Frontend": "Grouping from metrics spreadsheet",
+    "HPC": "Grouping from metrics spreadsheet",
+    "IcMiss": "Grouping from metrics spreadsheet",
+    "InsType": "Grouping from metrics spreadsheet",
+    "L2Evicts": "Grouping from metrics spreadsheet",
+    "LSD": "Grouping from metrics spreadsheet",
+    "MachineClears": "Grouping from metrics spreadsheet",
+    "Mem": "Grouping from metrics spreadsheet",
+    "MemoryBW": "Grouping from metrics spreadsheet",
+    "MemoryBound": "Grouping from metrics spreadsheet",
+    "MemoryLat": "Grouping from metrics spreadsheet",
+    "MemoryTLB": "Grouping from metrics spreadsheet",
+    "Memory_BW": "Grouping from metrics spreadsheet",
+    "Memory_Lat": "Grouping from metrics spreadsheet",
+    "MicroSeq": "Grouping from metrics spreadsheet",
+    "OS": "Grouping from metrics spreadsheet",
+    "Offcore": "Grouping from metrics spreadsheet",
+    "PGO": "Grouping from metrics spreadsheet",
+    "Pipeline": "Grouping from metrics spreadsheet",
+    "PortsUtil": "Grouping from metrics spreadsheet",
+    "Power": "Grouping from metrics spreadsheet",
+    "Ret": "Grouping from metrics spreadsheet",
+    "Retire": "Grouping from metrics spreadsheet",
+    "SMT": "Grouping from metrics spreadsheet",
+    "Server": "Grouping from metrics spreadsheet",
+    "Snoop": "Grouping from metrics spreadsheet",
+    "SoC": "Grouping from metrics spreadsheet",
+    "Summary": "Grouping from metrics spreadsheet",
+    "TmaL1": "Grouping from metrics spreadsheet",
+    "TmaL2": "Grouping from metrics spreadsheet",
+    "TmaL3mem": "Grouping from metrics spreadsheet",
+    "TopdownL1": "Metrics for top-down breakdown at level 1",
+    "TopdownL2": "Metrics for top-down breakdown at level 2",
+    "TopdownL3": "Metrics for top-down breakdown at level 3",
+    "TopdownL4": "Metrics for top-down breakdown at level 4",
+    "TopdownL5": "Metrics for top-down breakdown at level 5",
+    "TopdownL6": "Metrics for top-down breakdown at level 6",
+    "tma_L1_group": "Metrics for top-down breakdown at level 1",
+    "tma_L2_group": "Metrics for top-down breakdown at level 2",
+    "tma_L3_group": "Metrics for top-down breakdown at level 3",
+    "tma_L4_group": "Metrics for top-down breakdown at level 4",
+    "tma_L5_group": "Metrics for top-down breakdown at level 5",
+    "tma_L6_group": "Metrics for top-down breakdown at level 6",
+    "tma_alu_op_utilization_group": "Metrics contributing to tma_alu_op_utilization category",
+    "tma_backend_bound_group": "Metrics contributing to tma_backend_bound category",
+    "tma_bad_speculation_group": "Metrics contributing to tma_bad_speculation category",
+    "tma_branch_resteers_group": "Metrics contributing to tma_branch_resteers category",
+    "tma_core_bound_group": "Metrics contributing to tma_core_bound category",
+    "tma_dram_bound_group": "Metrics contributing to tma_dram_bound category",
+    "tma_dtlb_load_group": "Metrics contributing to tma_dtlb_load category",
+    "tma_dtlb_store_group": "Metrics contributing to tma_dtlb_store category",
+    "tma_fetch_bandwidth_group": "Metrics contributing to tma_fetch_bandwidth category",
+    "tma_fetch_latency_group": "Metrics contributing to tma_fetch_latency category",
+    "tma_fp_arith_group": "Metrics contributing to tma_fp_arith category",
+    "tma_fp_vector_group": "Metrics contributing to tma_fp_vector category",
+    "tma_frontend_bound_group": "Metrics contributing to tma_frontend_bound category",
+    "tma_heavy_operations_group": "Metrics contributing to tma_heavy_operations category",
+    "tma_issue2P": "Metrics related by the issue $issue2P",
+    "tma_issueBM": "Metrics related by the issue $issueBM",
+    "tma_issueBW": "Metrics related by the issue $issueBW",
+    "tma_issueFB": "Metrics related by the issue $issueFB",
+    "tma_issueL1": "Metrics related by the issue $issueL1",
+    "tma_issueLat": "Metrics related by the issue $issueLat",
+    "tma_issueMC": "Metrics related by the issue $issueMC",
+    "tma_issueMS": "Metrics related by the issue $issueMS",
+    "tma_issueMV": "Metrics related by the issue $issueMV",
+    "tma_issueRFO": "Metrics related by the issue $issueRFO",
+    "tma_issueSL": "Metrics related by the issue $issueSL",
+    "tma_issueSO": "Metrics related by the issue $issueSO",
+    "tma_issueSmSt": "Metrics related by the issue $issueSmSt",
+    "tma_issueSpSt": "Metrics related by the issue $issueSpSt",
+    "tma_issueSyncxn": "Metrics related by the issue $issueSyncxn",
+    "tma_issueTLB": "Metrics related by the issue $issueTLB",
+    "tma_l1_bound_group": "Metrics contributing to tma_l1_bound category",
+    "tma_l3_bound_group": "Metrics contributing to tma_l3_bound category",
+    "tma_light_operations_group": "Metrics contributing to tma_light_operations category",
+    "tma_load_op_utilization_group": "Metrics contributing to tma_load_op_utilization category",
+    "tma_mem_latency_group": "Metrics contributing to tma_mem_latency category",
+    "tma_memory_bound_group": "Metrics contributing to tma_memory_bound category",
+    "tma_microcode_sequencer_group": "Metrics contributing to tma_microcode_sequencer category",
+    "tma_ports_utilization_group": "Metrics contributing to tma_ports_utilization category",
+    "tma_ports_utilized_0_group": "Metrics contributing to tma_ports_utilized_0 category",
+    "tma_ports_utilized_3m_group": "Metrics contributing to tma_ports_utilized_3m category",
+    "tma_retiring_group": "Metrics contributing to tma_retiring category",
+    "tma_serializing_operation_group": "Metrics contributing to tma_serializing_operation category",
+    "tma_store_bound_group": "Metrics contributing to tma_store_bound category",
+    "tma_store_op_utilization_group": "Metrics contributing to tma_store_op_utilization category"
+}
diff --git a/tools/perf/pmu-events/arch/x86/cascadelakex/metricgroups.json b/tools/perf/pmu-events/arch/x86/cascadelakex/metricgroups.json
new file mode 100644
index 000000000000..4c421c80bd1f
--- /dev/null
+++ b/tools/perf/pmu-events/arch/x86/cascadelakex/metricgroups.json
@@ -0,0 +1,114 @@
+{
+    "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",
+    "CacheMisses": "Grouping from metrics spreadsheet",
+    "CodeGen": "Grouping from metrics spreadsheet",
+    "Compute": "Grouping from metrics spreadsheet",
+    "Cor": "Grouping from metrics spreadsheet",
+    "DSB": "Grouping from metrics spreadsheet",
+    "DSBmiss": "Grouping from metrics spreadsheet",
+    "DataSharing": "Grouping from metrics spreadsheet",
+    "Fed": "Grouping from metrics spreadsheet",
+    "FetchBW": "Grouping from metrics spreadsheet",
+    "FetchLat": "Grouping from metrics spreadsheet",
+    "Flops": "Grouping from metrics spreadsheet",
+    "FpScalar": "Grouping from metrics spreadsheet",
+    "FpVector": "Grouping from metrics spreadsheet",
+    "Frontend": "Grouping from metrics spreadsheet",
+    "HPC": "Grouping from metrics spreadsheet",
+    "IcMiss": "Grouping from metrics spreadsheet",
+    "InsType": "Grouping from metrics spreadsheet",
+    "IoBW": "Grouping from metrics spreadsheet",
+    "L2Evicts": "Grouping from metrics spreadsheet",
+    "LSD": "Grouping from metrics spreadsheet",
+    "MachineClears": "Grouping from metrics spreadsheet",
+    "Mem": "Grouping from metrics spreadsheet",
+    "MemoryBW": "Grouping from metrics spreadsheet",
+    "MemoryBound": "Grouping from metrics spreadsheet",
+    "MemoryLat": "Grouping from metrics spreadsheet",
+    "MemoryTLB": "Grouping from metrics spreadsheet",
+    "Memory_BW": "Grouping from metrics spreadsheet",
+    "Memory_Lat": "Grouping from metrics spreadsheet",
+    "MicroSeq": "Grouping from metrics spreadsheet",
+    "OS": "Grouping from metrics spreadsheet",
+    "Offcore": "Grouping from metrics spreadsheet",
+    "PGO": "Grouping from metrics spreadsheet",
+    "Pipeline": "Grouping from metrics spreadsheet",
+    "PortsUtil": "Grouping from metrics spreadsheet",
+    "Power": "Grouping from metrics spreadsheet",
+    "Prefetches": "Grouping from metrics spreadsheet",
+    "Ret": "Grouping from metrics spreadsheet",
+    "Retire": "Grouping from metrics spreadsheet",
+    "SMT": "Grouping from metrics spreadsheet",
+    "Server": "Grouping from metrics spreadsheet",
+    "Snoop": "Grouping from metrics spreadsheet",
+    "SoC": "Grouping from metrics spreadsheet",
+    "Summary": "Grouping from metrics spreadsheet",
+    "TmaL1": "Grouping from metrics spreadsheet",
+    "TmaL2": "Grouping from metrics spreadsheet",
+    "TmaL3mem": "Grouping from metrics spreadsheet",
+    "TopdownL1": "Metrics for top-down breakdown at level 1",
+    "TopdownL2": "Metrics for top-down breakdown at level 2",
+    "TopdownL3": "Metrics for top-down breakdown at level 3",
+    "TopdownL4": "Metrics for top-down breakdown at level 4",
+    "TopdownL5": "Metrics for top-down breakdown at level 5",
+    "TopdownL6": "Metrics for top-down breakdown at level 6",
+    "tma_L1_group": "Metrics for top-down breakdown at level 1",
+    "tma_L2_group": "Metrics for top-down breakdown at level 2",
+    "tma_L3_group": "Metrics for top-down breakdown at level 3",
+    "tma_L4_group": "Metrics for top-down breakdown at level 4",
+    "tma_L5_group": "Metrics for top-down breakdown at level 5",
+    "tma_L6_group": "Metrics for top-down breakdown at level 6",
+    "tma_alu_op_utilization_group": "Metrics contributing to tma_alu_op_utilization category",
+    "tma_backend_bound_group": "Metrics contributing to tma_backend_bound category",
+    "tma_bad_speculation_group": "Metrics contributing to tma_bad_speculation category",
+    "tma_branch_resteers_group": "Metrics contributing to tma_branch_resteers category",
+    "tma_core_bound_group": "Metrics contributing to tma_core_bound category",
+    "tma_dram_bound_group": "Metrics contributing to tma_dram_bound category",
+    "tma_dtlb_load_group": "Metrics contributing to tma_dtlb_load category",
+    "tma_dtlb_store_group": "Metrics contributing to tma_dtlb_store category",
+    "tma_fetch_bandwidth_group": "Metrics contributing to tma_fetch_bandwidth category",
+    "tma_fetch_latency_group": "Metrics contributing to tma_fetch_latency category",
+    "tma_fp_arith_group": "Metrics contributing to tma_fp_arith category",
+    "tma_fp_vector_group": "Metrics contributing to tma_fp_vector category",
+    "tma_frontend_bound_group": "Metrics contributing to tma_frontend_bound category",
+    "tma_heavy_operations_group": "Metrics contributing to tma_heavy_operations category",
+    "tma_issue2P": "Metrics related by the issue $issue2P",
+    "tma_issueBC": "Metrics related by the issue $issueBC",
+    "tma_issueBM": "Metrics related by the issue $issueBM",
+    "tma_issueBW": "Metrics related by the issue $issueBW",
+    "tma_issueD0": "Metrics related by the issue $issueD0",
+    "tma_issueFB": "Metrics related by the issue $issueFB",
+    "tma_issueFL": "Metrics related by the issue $issueFL",
+    "tma_issueL1": "Metrics related by the issue $issueL1",
+    "tma_issueLat": "Metrics related by the issue $issueLat",
+    "tma_issueMC": "Metrics related by the issue $issueMC",
+    "tma_issueMS": "Metrics related by the issue $issueMS",
+    "tma_issueMV": "Metrics related by the issue $issueMV",
+    "tma_issueRFO": "Metrics related by the issue $issueRFO",
+    "tma_issueSL": "Metrics related by the issue $issueSL",
+    "tma_issueSO": "Metrics related by the issue $issueSO",
+    "tma_issueSmSt": "Metrics related by the issue $issueSmSt",
+    "tma_issueSpSt": "Metrics related by the issue $issueSpSt",
+    "tma_issueSyncxn": "Metrics related by the issue $issueSyncxn",
+    "tma_issueTLB": "Metrics related by the issue $issueTLB",
+    "tma_l1_bound_group": "Metrics contributing to tma_l1_bound category",
+    "tma_l3_bound_group": "Metrics contributing to tma_l3_bound category",
+    "tma_light_operations_group": "Metrics contributing to tma_light_operations category",
+    "tma_load_op_utilization_group": "Metrics contributing to tma_load_op_utilization category",
+    "tma_mem_latency_group": "Metrics contributing to tma_mem_latency category",
+    "tma_memory_bound_group": "Metrics contributing to tma_memory_bound category",
+    "tma_microcode_sequencer_group": "Metrics contributing to tma_microcode_sequencer category",
+    "tma_mite_group": "Metrics contributing to tma_mite category",
+    "tma_ports_utilization_group": "Metrics contributing to tma_ports_utilization category",
+    "tma_ports_utilized_0_group": "Metrics contributing to tma_ports_utilized_0 category",
+    "tma_ports_utilized_3m_group": "Metrics contributing to tma_ports_utilized_3m category",
+    "tma_retiring_group": "Metrics contributing to tma_retiring category",
+    "tma_serializing_operation_group": "Metrics contributing to tma_serializing_operation category",
+    "tma_store_bound_group": "Metrics contributing to tma_store_bound category",
+    "tma_store_op_utilization_group": "Metrics contributing to tma_store_op_utilization category"
+}
diff --git a/tools/perf/pmu-events/arch/x86/haswell/metricgroups.json b/tools/perf/pmu-events/arch/x86/haswell/metricgroups.json
new file mode 100644
index 000000000000..92b491d8f2f3
--- /dev/null
+++ b/tools/perf/pmu-events/arch/x86/haswell/metricgroups.json
@@ -0,0 +1,107 @@
+{
+    "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",
+    "CacheMisses": "Grouping from metrics spreadsheet",
+    "Compute": "Grouping from metrics spreadsheet",
+    "Cor": "Grouping from metrics spreadsheet",
+    "DSB": "Grouping from metrics spreadsheet",
+    "DSBmiss": "Grouping from metrics spreadsheet",
+    "DataSharing": "Grouping from metrics spreadsheet",
+    "Fed": "Grouping from metrics spreadsheet",
+    "FetchBW": "Grouping from metrics spreadsheet",
+    "FetchLat": "Grouping from metrics spreadsheet",
+    "Flops": "Grouping from metrics spreadsheet",
+    "FpScalar": "Grouping from metrics spreadsheet",
+    "FpVector": "Grouping from metrics spreadsheet",
+    "Frontend": "Grouping from metrics spreadsheet",
+    "HPC": "Grouping from metrics spreadsheet",
+    "IcMiss": "Grouping from metrics spreadsheet",
+    "InsType": "Grouping from metrics spreadsheet",
+    "L2Evicts": "Grouping from metrics spreadsheet",
+    "LSD": "Grouping from metrics spreadsheet",
+    "MachineClears": "Grouping from metrics spreadsheet",
+    "Mem": "Grouping from metrics spreadsheet",
+    "MemoryBW": "Grouping from metrics spreadsheet",
+    "MemoryBound": "Grouping from metrics spreadsheet",
+    "MemoryLat": "Grouping from metrics spreadsheet",
+    "MemoryTLB": "Grouping from metrics spreadsheet",
+    "Memory_BW": "Grouping from metrics spreadsheet",
+    "Memory_Lat": "Grouping from metrics spreadsheet",
+    "MicroSeq": "Grouping from metrics spreadsheet",
+    "OS": "Grouping from metrics spreadsheet",
+    "Offcore": "Grouping from metrics spreadsheet",
+    "PGO": "Grouping from metrics spreadsheet",
+    "Pipeline": "Grouping from metrics spreadsheet",
+    "PortsUtil": "Grouping from metrics spreadsheet",
+    "Power": "Grouping from metrics spreadsheet",
+    "Ret": "Grouping from metrics spreadsheet",
+    "Retire": "Grouping from metrics spreadsheet",
+    "SMT": "Grouping from metrics spreadsheet",
+    "Server": "Grouping from metrics spreadsheet",
+    "Snoop": "Grouping from metrics spreadsheet",
+    "SoC": "Grouping from metrics spreadsheet",
+    "Summary": "Grouping from metrics spreadsheet",
+    "TmaL1": "Grouping from metrics spreadsheet",
+    "TmaL2": "Grouping from metrics spreadsheet",
+    "TmaL3mem": "Grouping from metrics spreadsheet",
+    "TopdownL1": "Metrics for top-down breakdown at level 1",
+    "TopdownL2": "Metrics for top-down breakdown at level 2",
+    "TopdownL3": "Metrics for top-down breakdown at level 3",
+    "TopdownL4": "Metrics for top-down breakdown at level 4",
+    "TopdownL5": "Metrics for top-down breakdown at level 5",
+    "TopdownL6": "Metrics for top-down breakdown at level 6",
+    "tma_L1_group": "Metrics for top-down breakdown at level 1",
+    "tma_L2_group": "Metrics for top-down breakdown at level 2",
+    "tma_L3_group": "Metrics for top-down breakdown at level 3",
+    "tma_L4_group": "Metrics for top-down breakdown at level 4",
+    "tma_L5_group": "Metrics for top-down breakdown at level 5",
+    "tma_L6_group": "Metrics for top-down breakdown at level 6",
+    "tma_alu_op_utilization_group": "Metrics contributing to tma_alu_op_utilization category",
+    "tma_backend_bound_group": "Metrics contributing to tma_backend_bound category",
+    "tma_bad_speculation_group": "Metrics contributing to tma_bad_speculation category",
+    "tma_branch_resteers_group": "Metrics contributing to tma_branch_resteers category",
+    "tma_core_bound_group": "Metrics contributing to tma_core_bound category",
+    "tma_dram_bound_group": "Metrics contributing to tma_dram_bound category",
+    "tma_dtlb_load_group": "Metrics contributing to tma_dtlb_load category",
+    "tma_dtlb_store_group": "Metrics contributing to tma_dtlb_store category",
+    "tma_fetch_bandwidth_group": "Metrics contributing to tma_fetch_bandwidth category",
+    "tma_fetch_latency_group": "Metrics contributing to tma_fetch_latency category",
+    "tma_fp_arith_group": "Metrics contributing to tma_fp_arith category",
+    "tma_fp_vector_group": "Metrics contributing to tma_fp_vector category",
+    "tma_frontend_bound_group": "Metrics contributing to tma_frontend_bound category",
+    "tma_heavy_operations_group": "Metrics contributing to tma_heavy_operations category",
+    "tma_issue2P": "Metrics related by the issue $issue2P",
+    "tma_issueBM": "Metrics related by the issue $issueBM",
+    "tma_issueBW": "Metrics related by the issue $issueBW",
+    "tma_issueFB": "Metrics related by the issue $issueFB",
+    "tma_issueL1": "Metrics related by the issue $issueL1",
+    "tma_issueLat": "Metrics related by the issue $issueLat",
+    "tma_issueMC": "Metrics related by the issue $issueMC",
+    "tma_issueMS": "Metrics related by the issue $issueMS",
+    "tma_issueMV": "Metrics related by the issue $issueMV",
+    "tma_issueRFO": "Metrics related by the issue $issueRFO",
+    "tma_issueSL": "Metrics related by the issue $issueSL",
+    "tma_issueSO": "Metrics related by the issue $issueSO",
+    "tma_issueSmSt": "Metrics related by the issue $issueSmSt",
+    "tma_issueSpSt": "Metrics related by the issue $issueSpSt",
+    "tma_issueSyncxn": "Metrics related by the issue $issueSyncxn",
+    "tma_issueTLB": "Metrics related by the issue $issueTLB",
+    "tma_l1_bound_group": "Metrics contributing to tma_l1_bound category",
+    "tma_l3_bound_group": "Metrics contributing to tma_l3_bound category",
+    "tma_light_operations_group": "Metrics contributing to tma_light_operations category",
+    "tma_load_op_utilization_group": "Metrics contributing to tma_load_op_utilization category",
+    "tma_mem_latency_group": "Metrics contributing to tma_mem_latency category",
+    "tma_memory_bound_group": "Metrics contributing to tma_memory_bound category",
+    "tma_microcode_sequencer_group": "Metrics contributing to tma_microcode_sequencer category",
+    "tma_ports_utilization_group": "Metrics contributing to tma_ports_utilization category",
+    "tma_ports_utilized_0_group": "Metrics contributing to tma_ports_utilized_0 category",
+    "tma_ports_utilized_3m_group": "Metrics contributing to tma_ports_utilized_3m category",
+    "tma_retiring_group": "Metrics contributing to tma_retiring category",
+    "tma_serializing_operation_group": "Metrics contributing to tma_serializing_operation category",
+    "tma_store_bound_group": "Metrics contributing to tma_store_bound category",
+    "tma_store_op_utilization_group": "Metrics contributing to tma_store_op_utilization category"
+}
diff --git a/tools/perf/pmu-events/arch/x86/haswellx/metricgroups.json b/tools/perf/pmu-events/arch/x86/haswellx/metricgroups.json
new file mode 100644
index 000000000000..92b491d8f2f3
--- /dev/null
+++ b/tools/perf/pmu-events/arch/x86/haswellx/metricgroups.json
@@ -0,0 +1,107 @@
+{
+    "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",
+    "CacheMisses": "Grouping from metrics spreadsheet",
+    "Compute": "Grouping from metrics spreadsheet",
+    "Cor": "Grouping from metrics spreadsheet",
+    "DSB": "Grouping from metrics spreadsheet",
+    "DSBmiss": "Grouping from metrics spreadsheet",
+    "DataSharing": "Grouping from metrics spreadsheet",
+    "Fed": "Grouping from metrics spreadsheet",
+    "FetchBW": "Grouping from metrics spreadsheet",
+    "FetchLat": "Grouping from metrics spreadsheet",
+    "Flops": "Grouping from metrics spreadsheet",
+    "FpScalar": "Grouping from metrics spreadsheet",
+    "FpVector": "Grouping from metrics spreadsheet",
+    "Frontend": "Grouping from metrics spreadsheet",
+    "HPC": "Grouping from metrics spreadsheet",
+    "IcMiss": "Grouping from metrics spreadsheet",
+    "InsType": "Grouping from metrics spreadsheet",
+    "L2Evicts": "Grouping from metrics spreadsheet",
+    "LSD": "Grouping from metrics spreadsheet",
+    "MachineClears": "Grouping from metrics spreadsheet",
+    "Mem": "Grouping from metrics spreadsheet",
+    "MemoryBW": "Grouping from metrics spreadsheet",
+    "MemoryBound": "Grouping from metrics spreadsheet",
+    "MemoryLat": "Grouping from metrics spreadsheet",
+    "MemoryTLB": "Grouping from metrics spreadsheet",
+    "Memory_BW": "Grouping from metrics spreadsheet",
+    "Memory_Lat": "Grouping from metrics spreadsheet",
+    "MicroSeq": "Grouping from metrics spreadsheet",
+    "OS": "Grouping from metrics spreadsheet",
+    "Offcore": "Grouping from metrics spreadsheet",
+    "PGO": "Grouping from metrics spreadsheet",
+    "Pipeline": "Grouping from metrics spreadsheet",
+    "PortsUtil": "Grouping from metrics spreadsheet",
+    "Power": "Grouping from metrics spreadsheet",
+    "Ret": "Grouping from metrics spreadsheet",
+    "Retire": "Grouping from metrics spreadsheet",
+    "SMT": "Grouping from metrics spreadsheet",
+    "Server": "Grouping from metrics spreadsheet",
+    "Snoop": "Grouping from metrics spreadsheet",
+    "SoC": "Grouping from metrics spreadsheet",
+    "Summary": "Grouping from metrics spreadsheet",
+    "TmaL1": "Grouping from metrics spreadsheet",
+    "TmaL2": "Grouping from metrics spreadsheet",
+    "TmaL3mem": "Grouping from metrics spreadsheet",
+    "TopdownL1": "Metrics for top-down breakdown at level 1",
+    "TopdownL2": "Metrics for top-down breakdown at level 2",
+    "TopdownL3": "Metrics for top-down breakdown at level 3",
+    "TopdownL4": "Metrics for top-down breakdown at level 4",
+    "TopdownL5": "Metrics for top-down breakdown at level 5",
+    "TopdownL6": "Metrics for top-down breakdown at level 6",
+    "tma_L1_group": "Metrics for top-down breakdown at level 1",
+    "tma_L2_group": "Metrics for top-down breakdown at level 2",
+    "tma_L3_group": "Metrics for top-down breakdown at level 3",
+    "tma_L4_group": "Metrics for top-down breakdown at level 4",
+    "tma_L5_group": "Metrics for top-down breakdown at level 5",
+    "tma_L6_group": "Metrics for top-down breakdown at level 6",
+    "tma_alu_op_utilization_group": "Metrics contributing to tma_alu_op_utilization category",
+    "tma_backend_bound_group": "Metrics contributing to tma_backend_bound category",
+    "tma_bad_speculation_group": "Metrics contributing to tma_bad_speculation category",
+    "tma_branch_resteers_group": "Metrics contributing to tma_branch_resteers category",
+    "tma_core_bound_group": "Metrics contributing to tma_core_bound category",
+    "tma_dram_bound_group": "Metrics contributing to tma_dram_bound category",
+    "tma_dtlb_load_group": "Metrics contributing to tma_dtlb_load category",
+    "tma_dtlb_store_group": "Metrics contributing to tma_dtlb_store category",
+    "tma_fetch_bandwidth_group": "Metrics contributing to tma_fetch_bandwidth category",
+    "tma_fetch_latency_group": "Metrics contributing to tma_fetch_latency category",
+    "tma_fp_arith_group": "Metrics contributing to tma_fp_arith category",
+    "tma_fp_vector_group": "Metrics contributing to tma_fp_vector category",
+    "tma_frontend_bound_group": "Metrics contributing to tma_frontend_bound category",
+    "tma_heavy_operations_group": "Metrics contributing to tma_heavy_operations category",
+    "tma_issue2P": "Metrics related by the issue $issue2P",
+    "tma_issueBM": "Metrics related by the issue $issueBM",
+    "tma_issueBW": "Metrics related by the issue $issueBW",
+    "tma_issueFB": "Metrics related by the issue $issueFB",
+    "tma_issueL1": "Metrics related by the issue $issueL1",
+    "tma_issueLat": "Metrics related by the issue $issueLat",
+    "tma_issueMC": "Metrics related by the issue $issueMC",
+    "tma_issueMS": "Metrics related by the issue $issueMS",
+    "tma_issueMV": "Metrics related by the issue $issueMV",
+    "tma_issueRFO": "Metrics related by the issue $issueRFO",
+    "tma_issueSL": "Metrics related by the issue $issueSL",
+    "tma_issueSO": "Metrics related by the issue $issueSO",
+    "tma_issueSmSt": "Metrics related by the issue $issueSmSt",
+    "tma_issueSpSt": "Metrics related by the issue $issueSpSt",
+    "tma_issueSyncxn": "Metrics related by the issue $issueSyncxn",
+    "tma_issueTLB": "Metrics related by the issue $issueTLB",
+    "tma_l1_bound_group": "Metrics contributing to tma_l1_bound category",
+    "tma_l3_bound_group": "Metrics contributing to tma_l3_bound category",
+    "tma_light_operations_group": "Metrics contributing to tma_light_operations category",
+    "tma_load_op_utilization_group": "Metrics contributing to tma_load_op_utilization category",
+    "tma_mem_latency_group": "Metrics contributing to tma_mem_latency category",
+    "tma_memory_bound_group": "Metrics contributing to tma_memory_bound category",
+    "tma_microcode_sequencer_group": "Metrics contributing to tma_microcode_sequencer category",
+    "tma_ports_utilization_group": "Metrics contributing to tma_ports_utilization category",
+    "tma_ports_utilized_0_group": "Metrics contributing to tma_ports_utilized_0 category",
+    "tma_ports_utilized_3m_group": "Metrics contributing to tma_ports_utilized_3m category",
+    "tma_retiring_group": "Metrics contributing to tma_retiring category",
+    "tma_serializing_operation_group": "Metrics contributing to tma_serializing_operation category",
+    "tma_store_bound_group": "Metrics contributing to tma_store_bound category",
+    "tma_store_op_utilization_group": "Metrics contributing to tma_store_op_utilization category"
+}
diff --git a/tools/perf/pmu-events/arch/x86/icelake/metricgroups.json b/tools/perf/pmu-events/arch/x86/icelake/metricgroups.json
new file mode 100644
index 000000000000..56c0f106e415
--- /dev/null
+++ b/tools/perf/pmu-events/arch/x86/icelake/metricgroups.json
@@ -0,0 +1,113 @@
+{
+    "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",
+    "CacheMisses": "Grouping from metrics spreadsheet",
+    "CodeGen": "Grouping from metrics spreadsheet",
+    "Compute": "Grouping from metrics spreadsheet",
+    "Cor": "Grouping from metrics spreadsheet",
+    "DSB": "Grouping from metrics spreadsheet",
+    "DSBmiss": "Grouping from metrics spreadsheet",
+    "DataSharing": "Grouping from metrics spreadsheet",
+    "Fed": "Grouping from metrics spreadsheet",
+    "FetchBW": "Grouping from metrics spreadsheet",
+    "FetchLat": "Grouping from metrics spreadsheet",
+    "Flops": "Grouping from metrics spreadsheet",
+    "FpScalar": "Grouping from metrics spreadsheet",
+    "FpVector": "Grouping from metrics spreadsheet",
+    "Frontend": "Grouping from metrics spreadsheet",
+    "HPC": "Grouping from metrics spreadsheet",
+    "IcMiss": "Grouping from metrics spreadsheet",
+    "InsType": "Grouping from metrics spreadsheet",
+    "L2Evicts": "Grouping from metrics spreadsheet",
+    "LSD": "Grouping from metrics spreadsheet",
+    "MachineClears": "Grouping from metrics spreadsheet",
+    "Mem": "Grouping from metrics spreadsheet",
+    "MemoryBW": "Grouping from metrics spreadsheet",
+    "MemoryBound": "Grouping from metrics spreadsheet",
+    "MemoryLat": "Grouping from metrics spreadsheet",
+    "MemoryTLB": "Grouping from metrics spreadsheet",
+    "Memory_BW": "Grouping from metrics spreadsheet",
+    "Memory_Lat": "Grouping from metrics spreadsheet",
+    "MicroSeq": "Grouping from metrics spreadsheet",
+    "OS": "Grouping from metrics spreadsheet",
+    "Offcore": "Grouping from metrics spreadsheet",
+    "PGO": "Grouping from metrics spreadsheet",
+    "Pipeline": "Grouping from metrics spreadsheet",
+    "PortsUtil": "Grouping from metrics spreadsheet",
+    "Power": "Grouping from metrics spreadsheet",
+    "Prefetches": "Grouping from metrics spreadsheet",
+    "Ret": "Grouping from metrics spreadsheet",
+    "Retire": "Grouping from metrics spreadsheet",
+    "SMT": "Grouping from metrics spreadsheet",
+    "Server": "Grouping from metrics spreadsheet",
+    "Snoop": "Grouping from metrics spreadsheet",
+    "SoC": "Grouping from metrics spreadsheet",
+    "Summary": "Grouping from metrics spreadsheet",
+    "TmaL1": "Grouping from metrics spreadsheet",
+    "TmaL2": "Grouping from metrics spreadsheet",
+    "TmaL3mem": "Grouping from metrics spreadsheet",
+    "TopdownL1": "Metrics for top-down breakdown at level 1",
+    "TopdownL2": "Metrics for top-down breakdown at level 2",
+    "TopdownL3": "Metrics for top-down breakdown at level 3",
+    "TopdownL4": "Metrics for top-down breakdown at level 4",
+    "TopdownL5": "Metrics for top-down breakdown at level 5",
+    "TopdownL6": "Metrics for top-down breakdown at level 6",
+    "tma_L1_group": "Metrics for top-down breakdown at level 1",
+    "tma_L2_group": "Metrics for top-down breakdown at level 2",
+    "tma_L3_group": "Metrics for top-down breakdown at level 3",
+    "tma_L4_group": "Metrics for top-down breakdown at level 4",
+    "tma_L5_group": "Metrics for top-down breakdown at level 5",
+    "tma_L6_group": "Metrics for top-down breakdown at level 6",
+    "tma_alu_op_utilization_group": "Metrics contributing to tma_alu_op_utilization category",
+    "tma_backend_bound_group": "Metrics contributing to tma_backend_bound category",
+    "tma_bad_speculation_group": "Metrics contributing to tma_bad_speculation category",
+    "tma_branch_resteers_group": "Metrics contributing to tma_branch_resteers category",
+    "tma_core_bound_group": "Metrics contributing to tma_core_bound category",
+    "tma_dram_bound_group": "Metrics contributing to tma_dram_bound category",
+    "tma_dtlb_load_group": "Metrics contributing to tma_dtlb_load category",
+    "tma_dtlb_store_group": "Metrics contributing to tma_dtlb_store category",
+    "tma_fetch_bandwidth_group": "Metrics contributing to tma_fetch_bandwidth category",
+    "tma_fetch_latency_group": "Metrics contributing to tma_fetch_latency category",
+    "tma_fp_arith_group": "Metrics contributing to tma_fp_arith category",
+    "tma_fp_vector_group": "Metrics contributing to tma_fp_vector category",
+    "tma_frontend_bound_group": "Metrics contributing to tma_frontend_bound category",
+    "tma_heavy_operations_group": "Metrics contributing to tma_heavy_operations category",
+    "tma_issue2P": "Metrics related by the issue $issue2P",
+    "tma_issueBC": "Metrics related by the issue $issueBC",
+    "tma_issueBM": "Metrics related by the issue $issueBM",
+    "tma_issueBW": "Metrics related by the issue $issueBW",
+    "tma_issueD0": "Metrics related by the issue $issueD0",
+    "tma_issueFB": "Metrics related by the issue $issueFB",
+    "tma_issueFL": "Metrics related by the issue $issueFL",
+    "tma_issueL1": "Metrics related by the issue $issueL1",
+    "tma_issueLat": "Metrics related by the issue $issueLat",
+    "tma_issueMC": "Metrics related by the issue $issueMC",
+    "tma_issueMS": "Metrics related by the issue $issueMS",
+    "tma_issueMV": "Metrics related by the issue $issueMV",
+    "tma_issueRFO": "Metrics related by the issue $issueRFO",
+    "tma_issueSL": "Metrics related by the issue $issueSL",
+    "tma_issueSO": "Metrics related by the issue $issueSO",
+    "tma_issueSmSt": "Metrics related by the issue $issueSmSt",
+    "tma_issueSpSt": "Metrics related by the issue $issueSpSt",
+    "tma_issueSyncxn": "Metrics related by the issue $issueSyncxn",
+    "tma_issueTLB": "Metrics related by the issue $issueTLB",
+    "tma_l1_bound_group": "Metrics contributing to tma_l1_bound category",
+    "tma_l3_bound_group": "Metrics contributing to tma_l3_bound category",
+    "tma_light_operations_group": "Metrics contributing to tma_light_operations category",
+    "tma_load_op_utilization_group": "Metrics contributing to tma_load_op_utilization category",
+    "tma_mem_latency_group": "Metrics contributing to tma_mem_latency category",
+    "tma_memory_bound_group": "Metrics contributing to tma_memory_bound category",
+    "tma_microcode_sequencer_group": "Metrics contributing to tma_microcode_sequencer category",
+    "tma_mite_group": "Metrics contributing to tma_mite category",
+    "tma_ports_utilization_group": "Metrics contributing to tma_ports_utilization category",
+    "tma_ports_utilized_0_group": "Metrics contributing to tma_ports_utilized_0 category",
+    "tma_ports_utilized_3m_group": "Metrics contributing to tma_ports_utilized_3m category",
+    "tma_retiring_group": "Metrics contributing to tma_retiring category",
+    "tma_serializing_operation_group": "Metrics contributing to tma_serializing_operation category",
+    "tma_store_bound_group": "Metrics contributing to tma_store_bound category",
+    "tma_store_op_utilization_group": "Metrics contributing to tma_store_op_utilization category"
+}
diff --git a/tools/perf/pmu-events/arch/x86/icelakex/metricgroups.json b/tools/perf/pmu-events/arch/x86/icelakex/metricgroups.json
new file mode 100644
index 000000000000..4c421c80bd1f
--- /dev/null
+++ b/tools/perf/pmu-events/arch/x86/icelakex/metricgroups.json
@@ -0,0 +1,114 @@
+{
+    "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",
+    "CacheMisses": "Grouping from metrics spreadsheet",
+    "CodeGen": "Grouping from metrics spreadsheet",
+    "Compute": "Grouping from metrics spreadsheet",
+    "Cor": "Grouping from metrics spreadsheet",
+    "DSB": "Grouping from metrics spreadsheet",
+    "DSBmiss": "Grouping from metrics spreadsheet",
+    "DataSharing": "Grouping from metrics spreadsheet",
+    "Fed": "Grouping from metrics spreadsheet",
+    "FetchBW": "Grouping from metrics spreadsheet",
+    "FetchLat": "Grouping from metrics spreadsheet",
+    "Flops": "Grouping from metrics spreadsheet",
+    "FpScalar": "Grouping from metrics spreadsheet",
+    "FpVector": "Grouping from metrics spreadsheet",
+    "Frontend": "Grouping from metrics spreadsheet",
+    "HPC": "Grouping from metrics spreadsheet",
+    "IcMiss": "Grouping from metrics spreadsheet",
+    "InsType": "Grouping from metrics spreadsheet",
+    "IoBW": "Grouping from metrics spreadsheet",
+    "L2Evicts": "Grouping from metrics spreadsheet",
+    "LSD": "Grouping from metrics spreadsheet",
+    "MachineClears": "Grouping from metrics spreadsheet",
+    "Mem": "Grouping from metrics spreadsheet",
+    "MemoryBW": "Grouping from metrics spreadsheet",
+    "MemoryBound": "Grouping from metrics spreadsheet",
+    "MemoryLat": "Grouping from metrics spreadsheet",
+    "MemoryTLB": "Grouping from metrics spreadsheet",
+    "Memory_BW": "Grouping from metrics spreadsheet",
+    "Memory_Lat": "Grouping from metrics spreadsheet",
+    "MicroSeq": "Grouping from metrics spreadsheet",
+    "OS": "Grouping from metrics spreadsheet",
+    "Offcore": "Grouping from metrics spreadsheet",
+    "PGO": "Grouping from metrics spreadsheet",
+    "Pipeline": "Grouping from metrics spreadsheet",
+    "PortsUtil": "Grouping from metrics spreadsheet",
+    "Power": "Grouping from metrics spreadsheet",
+    "Prefetches": "Grouping from metrics spreadsheet",
+    "Ret": "Grouping from metrics spreadsheet",
+    "Retire": "Grouping from metrics spreadsheet",
+    "SMT": "Grouping from metrics spreadsheet",
+    "Server": "Grouping from metrics spreadsheet",
+    "Snoop": "Grouping from metrics spreadsheet",
+    "SoC": "Grouping from metrics spreadsheet",
+    "Summary": "Grouping from metrics spreadsheet",
+    "TmaL1": "Grouping from metrics spreadsheet",
+    "TmaL2": "Grouping from metrics spreadsheet",
+    "TmaL3mem": "Grouping from metrics spreadsheet",
+    "TopdownL1": "Metrics for top-down breakdown at level 1",
+    "TopdownL2": "Metrics for top-down breakdown at level 2",
+    "TopdownL3": "Metrics for top-down breakdown at level 3",
+    "TopdownL4": "Metrics for top-down breakdown at level 4",
+    "TopdownL5": "Metrics for top-down breakdown at level 5",
+    "TopdownL6": "Metrics for top-down breakdown at level 6",
+    "tma_L1_group": "Metrics for top-down breakdown at level 1",
+    "tma_L2_group": "Metrics for top-down breakdown at level 2",
+    "tma_L3_group": "Metrics for top-down breakdown at level 3",
+    "tma_L4_group": "Metrics for top-down breakdown at level 4",
+    "tma_L5_group": "Metrics for top-down breakdown at level 5",
+    "tma_L6_group": "Metrics for top-down breakdown at level 6",
+    "tma_alu_op_utilization_group": "Metrics contributing to tma_alu_op_utilization category",
+    "tma_backend_bound_group": "Metrics contributing to tma_backend_bound category",
+    "tma_bad_speculation_group": "Metrics contributing to tma_bad_speculation category",
+    "tma_branch_resteers_group": "Metrics contributing to tma_branch_resteers category",
+    "tma_core_bound_group": "Metrics contributing to tma_core_bound category",
+    "tma_dram_bound_group": "Metrics contributing to tma_dram_bound category",
+    "tma_dtlb_load_group": "Metrics contributing to tma_dtlb_load category",
+    "tma_dtlb_store_group": "Metrics contributing to tma_dtlb_store category",
+    "tma_fetch_bandwidth_group": "Metrics contributing to tma_fetch_bandwidth category",
+    "tma_fetch_latency_group": "Metrics contributing to tma_fetch_latency category",
+    "tma_fp_arith_group": "Metrics contributing to tma_fp_arith category",
+    "tma_fp_vector_group": "Metrics contributing to tma_fp_vector category",
+    "tma_frontend_bound_group": "Metrics contributing to tma_frontend_bound category",
+    "tma_heavy_operations_group": "Metrics contributing to tma_heavy_operations category",
+    "tma_issue2P": "Metrics related by the issue $issue2P",
+    "tma_issueBC": "Metrics related by the issue $issueBC",
+    "tma_issueBM": "Metrics related by the issue $issueBM",
+    "tma_issueBW": "Metrics related by the issue $issueBW",
+    "tma_issueD0": "Metrics related by the issue $issueD0",
+    "tma_issueFB": "Metrics related by the issue $issueFB",
+    "tma_issueFL": "Metrics related by the issue $issueFL",
+    "tma_issueL1": "Metrics related by the issue $issueL1",
+    "tma_issueLat": "Metrics related by the issue $issueLat",
+    "tma_issueMC": "Metrics related by the issue $issueMC",
+    "tma_issueMS": "Metrics related by the issue $issueMS",
+    "tma_issueMV": "Metrics related by the issue $issueMV",
+    "tma_issueRFO": "Metrics related by the issue $issueRFO",
+    "tma_issueSL": "Metrics related by the issue $issueSL",
+    "tma_issueSO": "Metrics related by the issue $issueSO",
+    "tma_issueSmSt": "Metrics related by the issue $issueSmSt",
+    "tma_issueSpSt": "Metrics related by the issue $issueSpSt",
+    "tma_issueSyncxn": "Metrics related by the issue $issueSyncxn",
+    "tma_issueTLB": "Metrics related by the issue $issueTLB",
+    "tma_l1_bound_group": "Metrics contributing to tma_l1_bound category",
+    "tma_l3_bound_group": "Metrics contributing to tma_l3_bound category",
+    "tma_light_operations_group": "Metrics contributing to tma_light_operations category",
+    "tma_load_op_utilization_group": "Metrics contributing to tma_load_op_utilization category",
+    "tma_mem_latency_group": "Metrics contributing to tma_mem_latency category",
+    "tma_memory_bound_group": "Metrics contributing to tma_memory_bound category",
+    "tma_microcode_sequencer_group": "Metrics contributing to tma_microcode_sequencer category",
+    "tma_mite_group": "Metrics contributing to tma_mite category",
+    "tma_ports_utilization_group": "Metrics contributing to tma_ports_utilization category",
+    "tma_ports_utilized_0_group": "Metrics contributing to tma_ports_utilized_0 category",
+    "tma_ports_utilized_3m_group": "Metrics contributing to tma_ports_utilized_3m category",
+    "tma_retiring_group": "Metrics contributing to tma_retiring category",
+    "tma_serializing_operation_group": "Metrics contributing to tma_serializing_operation category",
+    "tma_store_bound_group": "Metrics contributing to tma_store_bound category",
+    "tma_store_op_utilization_group": "Metrics contributing to tma_store_op_utilization category"
+}
diff --git a/tools/perf/pmu-events/arch/x86/ivybridge/metricgroups.json b/tools/perf/pmu-events/arch/x86/ivybridge/metricgroups.json
new file mode 100644
index 000000000000..92b491d8f2f3
--- /dev/null
+++ b/tools/perf/pmu-events/arch/x86/ivybridge/metricgroups.json
@@ -0,0 +1,107 @@
+{
+    "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",
+    "CacheMisses": "Grouping from metrics spreadsheet",
+    "Compute": "Grouping from metrics spreadsheet",
+    "Cor": "Grouping from metrics spreadsheet",
+    "DSB": "Grouping from metrics spreadsheet",
+    "DSBmiss": "Grouping from metrics spreadsheet",
+    "DataSharing": "Grouping from metrics spreadsheet",
+    "Fed": "Grouping from metrics spreadsheet",
+    "FetchBW": "Grouping from metrics spreadsheet",
+    "FetchLat": "Grouping from metrics spreadsheet",
+    "Flops": "Grouping from metrics spreadsheet",
+    "FpScalar": "Grouping from metrics spreadsheet",
+    "FpVector": "Grouping from metrics spreadsheet",
+    "Frontend": "Grouping from metrics spreadsheet",
+    "HPC": "Grouping from metrics spreadsheet",
+    "IcMiss": "Grouping from metrics spreadsheet",
+    "InsType": "Grouping from metrics spreadsheet",
+    "L2Evicts": "Grouping from metrics spreadsheet",
+    "LSD": "Grouping from metrics spreadsheet",
+    "MachineClears": "Grouping from metrics spreadsheet",
+    "Mem": "Grouping from metrics spreadsheet",
+    "MemoryBW": "Grouping from metrics spreadsheet",
+    "MemoryBound": "Grouping from metrics spreadsheet",
+    "MemoryLat": "Grouping from metrics spreadsheet",
+    "MemoryTLB": "Grouping from metrics spreadsheet",
+    "Memory_BW": "Grouping from metrics spreadsheet",
+    "Memory_Lat": "Grouping from metrics spreadsheet",
+    "MicroSeq": "Grouping from metrics spreadsheet",
+    "OS": "Grouping from metrics spreadsheet",
+    "Offcore": "Grouping from metrics spreadsheet",
+    "PGO": "Grouping from metrics spreadsheet",
+    "Pipeline": "Grouping from metrics spreadsheet",
+    "PortsUtil": "Grouping from metrics spreadsheet",
+    "Power": "Grouping from metrics spreadsheet",
+    "Ret": "Grouping from metrics spreadsheet",
+    "Retire": "Grouping from metrics spreadsheet",
+    "SMT": "Grouping from metrics spreadsheet",
+    "Server": "Grouping from metrics spreadsheet",
+    "Snoop": "Grouping from metrics spreadsheet",
+    "SoC": "Grouping from metrics spreadsheet",
+    "Summary": "Grouping from metrics spreadsheet",
+    "TmaL1": "Grouping from metrics spreadsheet",
+    "TmaL2": "Grouping from metrics spreadsheet",
+    "TmaL3mem": "Grouping from metrics spreadsheet",
+    "TopdownL1": "Metrics for top-down breakdown at level 1",
+    "TopdownL2": "Metrics for top-down breakdown at level 2",
+    "TopdownL3": "Metrics for top-down breakdown at level 3",
+    "TopdownL4": "Metrics for top-down breakdown at level 4",
+    "TopdownL5": "Metrics for top-down breakdown at level 5",
+    "TopdownL6": "Metrics for top-down breakdown at level 6",
+    "tma_L1_group": "Metrics for top-down breakdown at level 1",
+    "tma_L2_group": "Metrics for top-down breakdown at level 2",
+    "tma_L3_group": "Metrics for top-down breakdown at level 3",
+    "tma_L4_group": "Metrics for top-down breakdown at level 4",
+    "tma_L5_group": "Metrics for top-down breakdown at level 5",
+    "tma_L6_group": "Metrics for top-down breakdown at level 6",
+    "tma_alu_op_utilization_group": "Metrics contributing to tma_alu_op_utilization category",
+    "tma_backend_bound_group": "Metrics contributing to tma_backend_bound category",
+    "tma_bad_speculation_group": "Metrics contributing to tma_bad_speculation category",
+    "tma_branch_resteers_group": "Metrics contributing to tma_branch_resteers category",
+    "tma_core_bound_group": "Metrics contributing to tma_core_bound category",
+    "tma_dram_bound_group": "Metrics contributing to tma_dram_bound category",
+    "tma_dtlb_load_group": "Metrics contributing to tma_dtlb_load category",
+    "tma_dtlb_store_group": "Metrics contributing to tma_dtlb_store category",
+    "tma_fetch_bandwidth_group": "Metrics contributing to tma_fetch_bandwidth category",
+    "tma_fetch_latency_group": "Metrics contributing to tma_fetch_latency category",
+    "tma_fp_arith_group": "Metrics contributing to tma_fp_arith category",
+    "tma_fp_vector_group": "Metrics contributing to tma_fp_vector category",
+    "tma_frontend_bound_group": "Metrics contributing to tma_frontend_bound category",
+    "tma_heavy_operations_group": "Metrics contributing to tma_heavy_operations category",
+    "tma_issue2P": "Metrics related by the issue $issue2P",
+    "tma_issueBM": "Metrics related by the issue $issueBM",
+    "tma_issueBW": "Metrics related by the issue $issueBW",
+    "tma_issueFB": "Metrics related by the issue $issueFB",
+    "tma_issueL1": "Metrics related by the issue $issueL1",
+    "tma_issueLat": "Metrics related by the issue $issueLat",
+    "tma_issueMC": "Metrics related by the issue $issueMC",
+    "tma_issueMS": "Metrics related by the issue $issueMS",
+    "tma_issueMV": "Metrics related by the issue $issueMV",
+    "tma_issueRFO": "Metrics related by the issue $issueRFO",
+    "tma_issueSL": "Metrics related by the issue $issueSL",
+    "tma_issueSO": "Metrics related by the issue $issueSO",
+    "tma_issueSmSt": "Metrics related by the issue $issueSmSt",
+    "tma_issueSpSt": "Metrics related by the issue $issueSpSt",
+    "tma_issueSyncxn": "Metrics related by the issue $issueSyncxn",
+    "tma_issueTLB": "Metrics related by the issue $issueTLB",
+    "tma_l1_bound_group": "Metrics contributing to tma_l1_bound category",
+    "tma_l3_bound_group": "Metrics contributing to tma_l3_bound category",
+    "tma_light_operations_group": "Metrics contributing to tma_light_operations category",
+    "tma_load_op_utilization_group": "Metrics contributing to tma_load_op_utilization category",
+    "tma_mem_latency_group": "Metrics contributing to tma_mem_latency category",
+    "tma_memory_bound_group": "Metrics contributing to tma_memory_bound category",
+    "tma_microcode_sequencer_group": "Metrics contributing to tma_microcode_sequencer category",
+    "tma_ports_utilization_group": "Metrics contributing to tma_ports_utilization category",
+    "tma_ports_utilized_0_group": "Metrics contributing to tma_ports_utilized_0 category",
+    "tma_ports_utilized_3m_group": "Metrics contributing to tma_ports_utilized_3m category",
+    "tma_retiring_group": "Metrics contributing to tma_retiring category",
+    "tma_serializing_operation_group": "Metrics contributing to tma_serializing_operation category",
+    "tma_store_bound_group": "Metrics contributing to tma_store_bound category",
+    "tma_store_op_utilization_group": "Metrics contributing to tma_store_op_utilization category"
+}
diff --git a/tools/perf/pmu-events/arch/x86/ivytown/metricgroups.json b/tools/perf/pmu-events/arch/x86/ivytown/metricgroups.json
new file mode 100644
index 000000000000..92b491d8f2f3
--- /dev/null
+++ b/tools/perf/pmu-events/arch/x86/ivytown/metricgroups.json
@@ -0,0 +1,107 @@
+{
+    "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",
+    "CacheMisses": "Grouping from metrics spreadsheet",
+    "Compute": "Grouping from metrics spreadsheet",
+    "Cor": "Grouping from metrics spreadsheet",
+    "DSB": "Grouping from metrics spreadsheet",
+    "DSBmiss": "Grouping from metrics spreadsheet",
+    "DataSharing": "Grouping from metrics spreadsheet",
+    "Fed": "Grouping from metrics spreadsheet",
+    "FetchBW": "Grouping from metrics spreadsheet",
+    "FetchLat": "Grouping from metrics spreadsheet",
+    "Flops": "Grouping from metrics spreadsheet",
+    "FpScalar": "Grouping from metrics spreadsheet",
+    "FpVector": "Grouping from metrics spreadsheet",
+    "Frontend": "Grouping from metrics spreadsheet",
+    "HPC": "Grouping from metrics spreadsheet",
+    "IcMiss": "Grouping from metrics spreadsheet",
+    "InsType": "Grouping from metrics spreadsheet",
+    "L2Evicts": "Grouping from metrics spreadsheet",
+    "LSD": "Grouping from metrics spreadsheet",
+    "MachineClears": "Grouping from metrics spreadsheet",
+    "Mem": "Grouping from metrics spreadsheet",
+    "MemoryBW": "Grouping from metrics spreadsheet",
+    "MemoryBound": "Grouping from metrics spreadsheet",
+    "MemoryLat": "Grouping from metrics spreadsheet",
+    "MemoryTLB": "Grouping from metrics spreadsheet",
+    "Memory_BW": "Grouping from metrics spreadsheet",
+    "Memory_Lat": "Grouping from metrics spreadsheet",
+    "MicroSeq": "Grouping from metrics spreadsheet",
+    "OS": "Grouping from metrics spreadsheet",
+    "Offcore": "Grouping from metrics spreadsheet",
+    "PGO": "Grouping from metrics spreadsheet",
+    "Pipeline": "Grouping from metrics spreadsheet",
+    "PortsUtil": "Grouping from metrics spreadsheet",
+    "Power": "Grouping from metrics spreadsheet",
+    "Ret": "Grouping from metrics spreadsheet",
+    "Retire": "Grouping from metrics spreadsheet",
+    "SMT": "Grouping from metrics spreadsheet",
+    "Server": "Grouping from metrics spreadsheet",
+    "Snoop": "Grouping from metrics spreadsheet",
+    "SoC": "Grouping from metrics spreadsheet",
+    "Summary": "Grouping from metrics spreadsheet",
+    "TmaL1": "Grouping from metrics spreadsheet",
+    "TmaL2": "Grouping from metrics spreadsheet",
+    "TmaL3mem": "Grouping from metrics spreadsheet",
+    "TopdownL1": "Metrics for top-down breakdown at level 1",
+    "TopdownL2": "Metrics for top-down breakdown at level 2",
+    "TopdownL3": "Metrics for top-down breakdown at level 3",
+    "TopdownL4": "Metrics for top-down breakdown at level 4",
+    "TopdownL5": "Metrics for top-down breakdown at level 5",
+    "TopdownL6": "Metrics for top-down breakdown at level 6",
+    "tma_L1_group": "Metrics for top-down breakdown at level 1",
+    "tma_L2_group": "Metrics for top-down breakdown at level 2",
+    "tma_L3_group": "Metrics for top-down breakdown at level 3",
+    "tma_L4_group": "Metrics for top-down breakdown at level 4",
+    "tma_L5_group": "Metrics for top-down breakdown at level 5",
+    "tma_L6_group": "Metrics for top-down breakdown at level 6",
+    "tma_alu_op_utilization_group": "Metrics contributing to tma_alu_op_utilization category",
+    "tma_backend_bound_group": "Metrics contributing to tma_backend_bound category",
+    "tma_bad_speculation_group": "Metrics contributing to tma_bad_speculation category",
+    "tma_branch_resteers_group": "Metrics contributing to tma_branch_resteers category",
+    "tma_core_bound_group": "Metrics contributing to tma_core_bound category",
+    "tma_dram_bound_group": "Metrics contributing to tma_dram_bound category",
+    "tma_dtlb_load_group": "Metrics contributing to tma_dtlb_load category",
+    "tma_dtlb_store_group": "Metrics contributing to tma_dtlb_store category",
+    "tma_fetch_bandwidth_group": "Metrics contributing to tma_fetch_bandwidth category",
+    "tma_fetch_latency_group": "Metrics contributing to tma_fetch_latency category",
+    "tma_fp_arith_group": "Metrics contributing to tma_fp_arith category",
+    "tma_fp_vector_group": "Metrics contributing to tma_fp_vector category",
+    "tma_frontend_bound_group": "Metrics contributing to tma_frontend_bound category",
+    "tma_heavy_operations_group": "Metrics contributing to tma_heavy_operations category",
+    "tma_issue2P": "Metrics related by the issue $issue2P",
+    "tma_issueBM": "Metrics related by the issue $issueBM",
+    "tma_issueBW": "Metrics related by the issue $issueBW",
+    "tma_issueFB": "Metrics related by the issue $issueFB",
+    "tma_issueL1": "Metrics related by the issue $issueL1",
+    "tma_issueLat": "Metrics related by the issue $issueLat",
+    "tma_issueMC": "Metrics related by the issue $issueMC",
+    "tma_issueMS": "Metrics related by the issue $issueMS",
+    "tma_issueMV": "Metrics related by the issue $issueMV",
+    "tma_issueRFO": "Metrics related by the issue $issueRFO",
+    "tma_issueSL": "Metrics related by the issue $issueSL",
+    "tma_issueSO": "Metrics related by the issue $issueSO",
+    "tma_issueSmSt": "Metrics related by the issue $issueSmSt",
+    "tma_issueSpSt": "Metrics related by the issue $issueSpSt",
+    "tma_issueSyncxn": "Metrics related by the issue $issueSyncxn",
+    "tma_issueTLB": "Metrics related by the issue $issueTLB",
+    "tma_l1_bound_group": "Metrics contributing to tma_l1_bound category",
+    "tma_l3_bound_group": "Metrics contributing to tma_l3_bound category",
+    "tma_light_operations_group": "Metrics contributing to tma_light_operations category",
+    "tma_load_op_utilization_group": "Metrics contributing to tma_load_op_utilization category",
+    "tma_mem_latency_group": "Metrics contributing to tma_mem_latency category",
+    "tma_memory_bound_group": "Metrics contributing to tma_memory_bound category",
+    "tma_microcode_sequencer_group": "Metrics contributing to tma_microcode_sequencer category",
+    "tma_ports_utilization_group": "Metrics contributing to tma_ports_utilization category",
+    "tma_ports_utilized_0_group": "Metrics contributing to tma_ports_utilized_0 category",
+    "tma_ports_utilized_3m_group": "Metrics contributing to tma_ports_utilized_3m category",
+    "tma_retiring_group": "Metrics contributing to tma_retiring category",
+    "tma_serializing_operation_group": "Metrics contributing to tma_serializing_operation category",
+    "tma_store_bound_group": "Metrics contributing to tma_store_bound category",
+    "tma_store_op_utilization_group": "Metrics contributing to tma_store_op_utilization category"
+}
diff --git a/tools/perf/pmu-events/arch/x86/jaketown/metricgroups.json b/tools/perf/pmu-events/arch/x86/jaketown/metricgroups.json
new file mode 100644
index 000000000000..253f1d93f9c3
--- /dev/null
+++ b/tools/perf/pmu-events/arch/x86/jaketown/metricgroups.json
@@ -0,0 +1,100 @@
+{
+    "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",
+    "CacheMisses": "Grouping from metrics spreadsheet",
+    "Compute": "Grouping from metrics spreadsheet",
+    "Cor": "Grouping from metrics spreadsheet",
+    "DSB": "Grouping from metrics spreadsheet",
+    "DSBmiss": "Grouping from metrics spreadsheet",
+    "Fed": "Grouping from metrics spreadsheet",
+    "FetchBW": "Grouping from metrics spreadsheet",
+    "FetchLat": "Grouping from metrics spreadsheet",
+    "Flops": "Grouping from metrics spreadsheet",
+    "FpScalar": "Grouping from metrics spreadsheet",
+    "FpVector": "Grouping from metrics spreadsheet",
+    "Frontend": "Grouping from metrics spreadsheet",
+    "HPC": "Grouping from metrics spreadsheet",
+    "IcMiss": "Grouping from metrics spreadsheet",
+    "InsType": "Grouping from metrics spreadsheet",
+    "L2Evicts": "Grouping from metrics spreadsheet",
+    "LSD": "Grouping from metrics spreadsheet",
+    "MachineClears": "Grouping from metrics spreadsheet",
+    "Mem": "Grouping from metrics spreadsheet",
+    "MemoryBW": "Grouping from metrics spreadsheet",
+    "MemoryBound": "Grouping from metrics spreadsheet",
+    "MemoryLat": "Grouping from metrics spreadsheet",
+    "MemoryTLB": "Grouping from metrics spreadsheet",
+    "MicroSeq": "Grouping from metrics spreadsheet",
+    "OS": "Grouping from metrics spreadsheet",
+    "Offcore": "Grouping from metrics spreadsheet",
+    "PGO": "Grouping from metrics spreadsheet",
+    "Pipeline": "Grouping from metrics spreadsheet",
+    "PortsUtil": "Grouping from metrics spreadsheet",
+    "Power": "Grouping from metrics spreadsheet",
+    "Ret": "Grouping from metrics spreadsheet",
+    "Retire": "Grouping from metrics spreadsheet",
+    "SMT": "Grouping from metrics spreadsheet",
+    "Server": "Grouping from metrics spreadsheet",
+    "Snoop": "Grouping from metrics spreadsheet",
+    "SoC": "Grouping from metrics spreadsheet",
+    "Summary": "Grouping from metrics spreadsheet",
+    "TmaL1": "Grouping from metrics spreadsheet",
+    "TmaL2": "Grouping from metrics spreadsheet",
+    "TmaL3mem": "Grouping from metrics spreadsheet",
+    "TopdownL1": "Metrics for top-down breakdown at level 1",
+    "TopdownL2": "Metrics for top-down breakdown at level 2",
+    "TopdownL3": "Metrics for top-down breakdown at level 3",
+    "TopdownL4": "Metrics for top-down breakdown at level 4",
+    "TopdownL5": "Metrics for top-down breakdown at level 5",
+    "TopdownL6": "Metrics for top-down breakdown at level 6",
+    "tma_L1_group": "Metrics for top-down breakdown at level 1",
+    "tma_L2_group": "Metrics for top-down breakdown at level 2",
+    "tma_L3_group": "Metrics for top-down breakdown at level 3",
+    "tma_L4_group": "Metrics for top-down breakdown at level 4",
+    "tma_L5_group": "Metrics for top-down breakdown at level 5",
+    "tma_L6_group": "Metrics for top-down breakdown at level 6",
+    "tma_alu_op_utilization_group": "Metrics contributing to tma_alu_op_utilization category",
+    "tma_backend_bound_group": "Metrics contributing to tma_backend_bound category",
+    "tma_bad_speculation_group": "Metrics contributing to tma_bad_speculation category",
+    "tma_branch_resteers_group": "Metrics contributing to tma_branch_resteers category",
+    "tma_core_bound_group": "Metrics contributing to tma_core_bound category",
+    "tma_dram_bound_group": "Metrics contributing to tma_dram_bound category",
+    "tma_dtlb_load_group": "Metrics contributing to tma_dtlb_load category",
+    "tma_dtlb_store_group": "Metrics contributing to tma_dtlb_store category",
+    "tma_fetch_bandwidth_group": "Metrics contributing to tma_fetch_bandwidth category",
+    "tma_fetch_latency_group": "Metrics contributing to tma_fetch_latency category",
+    "tma_fp_arith_group": "Metrics contributing to tma_fp_arith category",
+    "tma_fp_vector_group": "Metrics contributing to tma_fp_vector category",
+    "tma_frontend_bound_group": "Metrics contributing to tma_frontend_bound category",
+    "tma_heavy_operations_group": "Metrics contributing to tma_heavy_operations category",
+    "tma_issue2P": "Metrics related by the issue $issue2P",
+    "tma_issueBM": "Metrics related by the issue $issueBM",
+    "tma_issueBW": "Metrics related by the issue $issueBW",
+    "tma_issueFB": "Metrics related by the issue $issueFB",
+    "tma_issueL1": "Metrics related by the issue $issueL1",
+    "tma_issueLat": "Metrics related by the issue $issueLat",
+    "tma_issueMC": "Metrics related by the issue $issueMC",
+    "tma_issueMS": "Metrics related by the issue $issueMS",
+    "tma_issueMV": "Metrics related by the issue $issueMV",
+    "tma_issueRFO": "Metrics related by the issue $issueRFO",
+    "tma_issueSL": "Metrics related by the issue $issueSL",
+    "tma_issueSO": "Metrics related by the issue $issueSO",
+    "tma_issueSmSt": "Metrics related by the issue $issueSmSt",
+    "tma_issueSyncxn": "Metrics related by the issue $issueSyncxn",
+    "tma_issueTLB": "Metrics related by the issue $issueTLB",
+    "tma_l1_bound_group": "Metrics contributing to tma_l1_bound category",
+    "tma_light_operations_group": "Metrics contributing to tma_light_operations category",
+    "tma_mem_latency_group": "Metrics contributing to tma_mem_latency category",
+    "tma_memory_bound_group": "Metrics contributing to tma_memory_bound category",
+    "tma_microcode_sequencer_group": "Metrics contributing to tma_microcode_sequencer category",
+    "tma_ports_utilization_group": "Metrics contributing to tma_ports_utilization category",
+    "tma_ports_utilized_0_group": "Metrics contributing to tma_ports_utilized_0 category",
+    "tma_retiring_group": "Metrics contributing to tma_retiring category",
+    "tma_serializing_operation_group": "Metrics contributing to tma_serializing_operation category",
+    "tma_store_bound_group": "Metrics contributing to tma_store_bound category",
+    "tma_store_op_utilization_group": "Metrics contributing to tma_store_op_utilization category"
+}
diff --git a/tools/perf/pmu-events/arch/x86/sandybridge/metricgroups.json b/tools/perf/pmu-events/arch/x86/sandybridge/metricgroups.json
new file mode 100644
index 000000000000..253f1d93f9c3
--- /dev/null
+++ b/tools/perf/pmu-events/arch/x86/sandybridge/metricgroups.json
@@ -0,0 +1,100 @@
+{
+    "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",
+    "CacheMisses": "Grouping from metrics spreadsheet",
+    "Compute": "Grouping from metrics spreadsheet",
+    "Cor": "Grouping from metrics spreadsheet",
+    "DSB": "Grouping from metrics spreadsheet",
+    "DSBmiss": "Grouping from metrics spreadsheet",
+    "Fed": "Grouping from metrics spreadsheet",
+    "FetchBW": "Grouping from metrics spreadsheet",
+    "FetchLat": "Grouping from metrics spreadsheet",
+    "Flops": "Grouping from metrics spreadsheet",
+    "FpScalar": "Grouping from metrics spreadsheet",
+    "FpVector": "Grouping from metrics spreadsheet",
+    "Frontend": "Grouping from metrics spreadsheet",
+    "HPC": "Grouping from metrics spreadsheet",
+    "IcMiss": "Grouping from metrics spreadsheet",
+    "InsType": "Grouping from metrics spreadsheet",
+    "L2Evicts": "Grouping from metrics spreadsheet",
+    "LSD": "Grouping from metrics spreadsheet",
+    "MachineClears": "Grouping from metrics spreadsheet",
+    "Mem": "Grouping from metrics spreadsheet",
+    "MemoryBW": "Grouping from metrics spreadsheet",
+    "MemoryBound": "Grouping from metrics spreadsheet",
+    "MemoryLat": "Grouping from metrics spreadsheet",
+    "MemoryTLB": "Grouping from metrics spreadsheet",
+    "MicroSeq": "Grouping from metrics spreadsheet",
+    "OS": "Grouping from metrics spreadsheet",
+    "Offcore": "Grouping from metrics spreadsheet",
+    "PGO": "Grouping from metrics spreadsheet",
+    "Pipeline": "Grouping from metrics spreadsheet",
+    "PortsUtil": "Grouping from metrics spreadsheet",
+    "Power": "Grouping from metrics spreadsheet",
+    "Ret": "Grouping from metrics spreadsheet",
+    "Retire": "Grouping from metrics spreadsheet",
+    "SMT": "Grouping from metrics spreadsheet",
+    "Server": "Grouping from metrics spreadsheet",
+    "Snoop": "Grouping from metrics spreadsheet",
+    "SoC": "Grouping from metrics spreadsheet",
+    "Summary": "Grouping from metrics spreadsheet",
+    "TmaL1": "Grouping from metrics spreadsheet",
+    "TmaL2": "Grouping from metrics spreadsheet",
+    "TmaL3mem": "Grouping from metrics spreadsheet",
+    "TopdownL1": "Metrics for top-down breakdown at level 1",
+    "TopdownL2": "Metrics for top-down breakdown at level 2",
+    "TopdownL3": "Metrics for top-down breakdown at level 3",
+    "TopdownL4": "Metrics for top-down breakdown at level 4",
+    "TopdownL5": "Metrics for top-down breakdown at level 5",
+    "TopdownL6": "Metrics for top-down breakdown at level 6",
+    "tma_L1_group": "Metrics for top-down breakdown at level 1",
+    "tma_L2_group": "Metrics for top-down breakdown at level 2",
+    "tma_L3_group": "Metrics for top-down breakdown at level 3",
+    "tma_L4_group": "Metrics for top-down breakdown at level 4",
+    "tma_L5_group": "Metrics for top-down breakdown at level 5",
+    "tma_L6_group": "Metrics for top-down breakdown at level 6",
+    "tma_alu_op_utilization_group": "Metrics contributing to tma_alu_op_utilization category",
+    "tma_backend_bound_group": "Metrics contributing to tma_backend_bound category",
+    "tma_bad_speculation_group": "Metrics contributing to tma_bad_speculation category",
+    "tma_branch_resteers_group": "Metrics contributing to tma_branch_resteers category",
+    "tma_core_bound_group": "Metrics contributing to tma_core_bound category",
+    "tma_dram_bound_group": "Metrics contributing to tma_dram_bound category",
+    "tma_dtlb_load_group": "Metrics contributing to tma_dtlb_load category",
+    "tma_dtlb_store_group": "Metrics contributing to tma_dtlb_store category",
+    "tma_fetch_bandwidth_group": "Metrics contributing to tma_fetch_bandwidth category",
+    "tma_fetch_latency_group": "Metrics contributing to tma_fetch_latency category",
+    "tma_fp_arith_group": "Metrics contributing to tma_fp_arith category",
+    "tma_fp_vector_group": "Metrics contributing to tma_fp_vector category",
+    "tma_frontend_bound_group": "Metrics contributing to tma_frontend_bound category",
+    "tma_heavy_operations_group": "Metrics contributing to tma_heavy_operations category",
+    "tma_issue2P": "Metrics related by the issue $issue2P",
+    "tma_issueBM": "Metrics related by the issue $issueBM",
+    "tma_issueBW": "Metrics related by the issue $issueBW",
+    "tma_issueFB": "Metrics related by the issue $issueFB",
+    "tma_issueL1": "Metrics related by the issue $issueL1",
+    "tma_issueLat": "Metrics related by the issue $issueLat",
+    "tma_issueMC": "Metrics related by the issue $issueMC",
+    "tma_issueMS": "Metrics related by the issue $issueMS",
+    "tma_issueMV": "Metrics related by the issue $issueMV",
+    "tma_issueRFO": "Metrics related by the issue $issueRFO",
+    "tma_issueSL": "Metrics related by the issue $issueSL",
+    "tma_issueSO": "Metrics related by the issue $issueSO",
+    "tma_issueSmSt": "Metrics related by the issue $issueSmSt",
+    "tma_issueSyncxn": "Metrics related by the issue $issueSyncxn",
+    "tma_issueTLB": "Metrics related by the issue $issueTLB",
+    "tma_l1_bound_group": "Metrics contributing to tma_l1_bound category",
+    "tma_light_operations_group": "Metrics contributing to tma_light_operations category",
+    "tma_mem_latency_group": "Metrics contributing to tma_mem_latency category",
+    "tma_memory_bound_group": "Metrics contributing to tma_memory_bound category",
+    "tma_microcode_sequencer_group": "Metrics contributing to tma_microcode_sequencer category",
+    "tma_ports_utilization_group": "Metrics contributing to tma_ports_utilization category",
+    "tma_ports_utilized_0_group": "Metrics contributing to tma_ports_utilized_0 category",
+    "tma_retiring_group": "Metrics contributing to tma_retiring category",
+    "tma_serializing_operation_group": "Metrics contributing to tma_serializing_operation category",
+    "tma_store_bound_group": "Metrics contributing to tma_store_bound category",
+    "tma_store_op_utilization_group": "Metrics contributing to tma_store_op_utilization category"
+}
diff --git a/tools/perf/pmu-events/arch/x86/sapphirerapids/metricgroups.json b/tools/perf/pmu-events/arch/x86/sapphirerapids/metricgroups.json
new file mode 100644
index 000000000000..5270376250aa
--- /dev/null
+++ b/tools/perf/pmu-events/arch/x86/sapphirerapids/metricgroups.json
@@ -0,0 +1,118 @@
+{
+    "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",
+    "CacheMisses": "Grouping from metrics spreadsheet",
+    "CodeGen": "Grouping from metrics spreadsheet",
+    "Compute": "Grouping from metrics spreadsheet",
+    "Cor": "Grouping from metrics spreadsheet",
+    "DSB": "Grouping from metrics spreadsheet",
+    "DSBmiss": "Grouping from metrics spreadsheet",
+    "DataSharing": "Grouping from metrics spreadsheet",
+    "Fed": "Grouping from metrics spreadsheet",
+    "FetchBW": "Grouping from metrics spreadsheet",
+    "FetchLat": "Grouping from metrics spreadsheet",
+    "Flops": "Grouping from metrics spreadsheet",
+    "FpScalar": "Grouping from metrics spreadsheet",
+    "FpVector": "Grouping from metrics spreadsheet",
+    "Frontend": "Grouping from metrics spreadsheet",
+    "HPC": "Grouping from metrics spreadsheet",
+    "IcMiss": "Grouping from metrics spreadsheet",
+    "InsType": "Grouping from metrics spreadsheet",
+    "IntVector": "Grouping from metrics spreadsheet",
+    "IoBW": "Grouping from metrics spreadsheet",
+    "L2Evicts": "Grouping from metrics spreadsheet",
+    "LSD": "Grouping from metrics spreadsheet",
+    "MachineClears": "Grouping from metrics spreadsheet",
+    "Mem": "Grouping from metrics spreadsheet",
+    "MemoryBW": "Grouping from metrics spreadsheet",
+    "MemoryBound": "Grouping from metrics spreadsheet",
+    "MemoryLat": "Grouping from metrics spreadsheet",
+    "MemoryTLB": "Grouping from metrics spreadsheet",
+    "Memory_BW": "Grouping from metrics spreadsheet",
+    "Memory_Lat": "Grouping from metrics spreadsheet",
+    "MicroSeq": "Grouping from metrics spreadsheet",
+    "OS": "Grouping from metrics spreadsheet",
+    "Offcore": "Grouping from metrics spreadsheet",
+    "PGO": "Grouping from metrics spreadsheet",
+    "Pipeline": "Grouping from metrics spreadsheet",
+    "PortsUtil": "Grouping from metrics spreadsheet",
+    "Power": "Grouping from metrics spreadsheet",
+    "Prefetches": "Grouping from metrics spreadsheet",
+    "Ret": "Grouping from metrics spreadsheet",
+    "Retire": "Grouping from metrics spreadsheet",
+    "SMT": "Grouping from metrics spreadsheet",
+    "Server": "Grouping from metrics spreadsheet",
+    "Snoop": "Grouping from metrics spreadsheet",
+    "SoC": "Grouping from metrics spreadsheet",
+    "Summary": "Grouping from metrics spreadsheet",
+    "TmaL1": "Grouping from metrics spreadsheet",
+    "TmaL2": "Grouping from metrics spreadsheet",
+    "TmaL3mem": "Grouping from metrics spreadsheet",
+    "TopdownL1": "Metrics for top-down breakdown at level 1",
+    "TopdownL2": "Metrics for top-down breakdown at level 2",
+    "TopdownL3": "Metrics for top-down breakdown at level 3",
+    "TopdownL4": "Metrics for top-down breakdown at level 4",
+    "TopdownL5": "Metrics for top-down breakdown at level 5",
+    "TopdownL6": "Metrics for top-down breakdown at level 6",
+    "tma_L1_group": "Metrics for top-down breakdown at level 1",
+    "tma_L2_group": "Metrics for top-down breakdown at level 2",
+    "tma_L3_group": "Metrics for top-down breakdown at level 3",
+    "tma_L4_group": "Metrics for top-down breakdown at level 4",
+    "tma_L5_group": "Metrics for top-down breakdown at level 5",
+    "tma_L6_group": "Metrics for top-down breakdown at level 6",
+    "tma_alu_op_utilization_group": "Metrics contributing to tma_alu_op_utilization category",
+    "tma_assists_group": "Metrics contributing to tma_assists category",
+    "tma_backend_bound_group": "Metrics contributing to tma_backend_bound category",
+    "tma_bad_speculation_group": "Metrics contributing to tma_bad_speculation category",
+    "tma_branch_resteers_group": "Metrics contributing to tma_branch_resteers category",
+    "tma_core_bound_group": "Metrics contributing to tma_core_bound category",
+    "tma_dram_bound_group": "Metrics contributing to tma_dram_bound category",
+    "tma_dtlb_load_group": "Metrics contributing to tma_dtlb_load category",
+    "tma_dtlb_store_group": "Metrics contributing to tma_dtlb_store category",
+    "tma_fetch_bandwidth_group": "Metrics contributing to tma_fetch_bandwidth category",
+    "tma_fetch_latency_group": "Metrics contributing to tma_fetch_latency category",
+    "tma_fp_arith_group": "Metrics contributing to tma_fp_arith category",
+    "tma_fp_vector_group": "Metrics contributing to tma_fp_vector category",
+    "tma_frontend_bound_group": "Metrics contributing to tma_frontend_bound category",
+    "tma_heavy_operations_group": "Metrics contributing to tma_heavy_operations category",
+    "tma_int_operations_group": "Metrics contributing to tma_int_operations category",
+    "tma_issue2P": "Metrics related by the issue $issue2P",
+    "tma_issueBC": "Metrics related by the issue $issueBC",
+    "tma_issueBM": "Metrics related by the issue $issueBM",
+    "tma_issueBW": "Metrics related by the issue $issueBW",
+    "tma_issueD0": "Metrics related by the issue $issueD0",
+    "tma_issueFB": "Metrics related by the issue $issueFB",
+    "tma_issueFL": "Metrics related by the issue $issueFL",
+    "tma_issueL1": "Metrics related by the issue $issueL1",
+    "tma_issueLat": "Metrics related by the issue $issueLat",
+    "tma_issueMC": "Metrics related by the issue $issueMC",
+    "tma_issueMS": "Metrics related by the issue $issueMS",
+    "tma_issueMV": "Metrics related by the issue $issueMV",
+    "tma_issueRFO": "Metrics related by the issue $issueRFO",
+    "tma_issueSL": "Metrics related by the issue $issueSL",
+    "tma_issueSO": "Metrics related by the issue $issueSO",
+    "tma_issueSmSt": "Metrics related by the issue $issueSmSt",
+    "tma_issueSpSt": "Metrics related by the issue $issueSpSt",
+    "tma_issueSyncxn": "Metrics related by the issue $issueSyncxn",
+    "tma_issueTLB": "Metrics related by the issue $issueTLB",
+    "tma_l1_bound_group": "Metrics contributing to tma_l1_bound category",
+    "tma_l3_bound_group": "Metrics contributing to tma_l3_bound category",
+    "tma_light_operations_group": "Metrics contributing to tma_light_operations category",
+    "tma_load_op_utilization_group": "Metrics contributing to tma_load_op_utilization category",
+    "tma_mem_bandwidth_group": "Metrics contributing to tma_mem_bandwidth category",
+    "tma_mem_latency_group": "Metrics contributing to tma_mem_latency category",
+    "tma_memory_bound_group": "Metrics contributing to tma_memory_bound category",
+    "tma_microcode_sequencer_group": "Metrics contributing to tma_microcode_sequencer category",
+    "tma_mite_group": "Metrics contributing to tma_mite category",
+    "tma_ports_utilization_group": "Metrics contributing to tma_ports_utilization category",
+    "tma_ports_utilized_0_group": "Metrics contributing to tma_ports_utilized_0 category",
+    "tma_ports_utilized_3m_group": "Metrics contributing to tma_ports_utilized_3m category",
+    "tma_retiring_group": "Metrics contributing to tma_retiring category",
+    "tma_serializing_operation_group": "Metrics contributing to tma_serializing_operation category",
+    "tma_store_bound_group": "Metrics contributing to tma_store_bound category",
+    "tma_store_op_utilization_group": "Metrics contributing to tma_store_op_utilization category"
+}
diff --git a/tools/perf/pmu-events/arch/x86/skylake/metricgroups.json b/tools/perf/pmu-events/arch/x86/skylake/metricgroups.json
new file mode 100644
index 000000000000..56c0f106e415
--- /dev/null
+++ b/tools/perf/pmu-events/arch/x86/skylake/metricgroups.json
@@ -0,0 +1,113 @@
+{
+    "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",
+    "CacheMisses": "Grouping from metrics spreadsheet",
+    "CodeGen": "Grouping from metrics spreadsheet",
+    "Compute": "Grouping from metrics spreadsheet",
+    "Cor": "Grouping from metrics spreadsheet",
+    "DSB": "Grouping from metrics spreadsheet",
+    "DSBmiss": "Grouping from metrics spreadsheet",
+    "DataSharing": "Grouping from metrics spreadsheet",
+    "Fed": "Grouping from metrics spreadsheet",
+    "FetchBW": "Grouping from metrics spreadsheet",
+    "FetchLat": "Grouping from metrics spreadsheet",
+    "Flops": "Grouping from metrics spreadsheet",
+    "FpScalar": "Grouping from metrics spreadsheet",
+    "FpVector": "Grouping from metrics spreadsheet",
+    "Frontend": "Grouping from metrics spreadsheet",
+    "HPC": "Grouping from metrics spreadsheet",
+    "IcMiss": "Grouping from metrics spreadsheet",
+    "InsType": "Grouping from metrics spreadsheet",
+    "L2Evicts": "Grouping from metrics spreadsheet",
+    "LSD": "Grouping from metrics spreadsheet",
+    "MachineClears": "Grouping from metrics spreadsheet",
+    "Mem": "Grouping from metrics spreadsheet",
+    "MemoryBW": "Grouping from metrics spreadsheet",
+    "MemoryBound": "Grouping from metrics spreadsheet",
+    "MemoryLat": "Grouping from metrics spreadsheet",
+    "MemoryTLB": "Grouping from metrics spreadsheet",
+    "Memory_BW": "Grouping from metrics spreadsheet",
+    "Memory_Lat": "Grouping from metrics spreadsheet",
+    "MicroSeq": "Grouping from metrics spreadsheet",
+    "OS": "Grouping from metrics spreadsheet",
+    "Offcore": "Grouping from metrics spreadsheet",
+    "PGO": "Grouping from metrics spreadsheet",
+    "Pipeline": "Grouping from metrics spreadsheet",
+    "PortsUtil": "Grouping from metrics spreadsheet",
+    "Power": "Grouping from metrics spreadsheet",
+    "Prefetches": "Grouping from metrics spreadsheet",
+    "Ret": "Grouping from metrics spreadsheet",
+    "Retire": "Grouping from metrics spreadsheet",
+    "SMT": "Grouping from metrics spreadsheet",
+    "Server": "Grouping from metrics spreadsheet",
+    "Snoop": "Grouping from metrics spreadsheet",
+    "SoC": "Grouping from metrics spreadsheet",
+    "Summary": "Grouping from metrics spreadsheet",
+    "TmaL1": "Grouping from metrics spreadsheet",
+    "TmaL2": "Grouping from metrics spreadsheet",
+    "TmaL3mem": "Grouping from metrics spreadsheet",
+    "TopdownL1": "Metrics for top-down breakdown at level 1",
+    "TopdownL2": "Metrics for top-down breakdown at level 2",
+    "TopdownL3": "Metrics for top-down breakdown at level 3",
+    "TopdownL4": "Metrics for top-down breakdown at level 4",
+    "TopdownL5": "Metrics for top-down breakdown at level 5",
+    "TopdownL6": "Metrics for top-down breakdown at level 6",
+    "tma_L1_group": "Metrics for top-down breakdown at level 1",
+    "tma_L2_group": "Metrics for top-down breakdown at level 2",
+    "tma_L3_group": "Metrics for top-down breakdown at level 3",
+    "tma_L4_group": "Metrics for top-down breakdown at level 4",
+    "tma_L5_group": "Metrics for top-down breakdown at level 5",
+    "tma_L6_group": "Metrics for top-down breakdown at level 6",
+    "tma_alu_op_utilization_group": "Metrics contributing to tma_alu_op_utilization category",
+    "tma_backend_bound_group": "Metrics contributing to tma_backend_bound category",
+    "tma_bad_speculation_group": "Metrics contributing to tma_bad_speculation category",
+    "tma_branch_resteers_group": "Metrics contributing to tma_branch_resteers category",
+    "tma_core_bound_group": "Metrics contributing to tma_core_bound category",
+    "tma_dram_bound_group": "Metrics contributing to tma_dram_bound category",
+    "tma_dtlb_load_group": "Metrics contributing to tma_dtlb_load category",
+    "tma_dtlb_store_group": "Metrics contributing to tma_dtlb_store category",
+    "tma_fetch_bandwidth_group": "Metrics contributing to tma_fetch_bandwidth category",
+    "tma_fetch_latency_group": "Metrics contributing to tma_fetch_latency category",
+    "tma_fp_arith_group": "Metrics contributing to tma_fp_arith category",
+    "tma_fp_vector_group": "Metrics contributing to tma_fp_vector category",
+    "tma_frontend_bound_group": "Metrics contributing to tma_frontend_bound category",
+    "tma_heavy_operations_group": "Metrics contributing to tma_heavy_operations category",
+    "tma_issue2P": "Metrics related by the issue $issue2P",
+    "tma_issueBC": "Metrics related by the issue $issueBC",
+    "tma_issueBM": "Metrics related by the issue $issueBM",
+    "tma_issueBW": "Metrics related by the issue $issueBW",
+    "tma_issueD0": "Metrics related by the issue $issueD0",
+    "tma_issueFB": "Metrics related by the issue $issueFB",
+    "tma_issueFL": "Metrics related by the issue $issueFL",
+    "tma_issueL1": "Metrics related by the issue $issueL1",
+    "tma_issueLat": "Metrics related by the issue $issueLat",
+    "tma_issueMC": "Metrics related by the issue $issueMC",
+    "tma_issueMS": "Metrics related by the issue $issueMS",
+    "tma_issueMV": "Metrics related by the issue $issueMV",
+    "tma_issueRFO": "Metrics related by the issue $issueRFO",
+    "tma_issueSL": "Metrics related by the issue $issueSL",
+    "tma_issueSO": "Metrics related by the issue $issueSO",
+    "tma_issueSmSt": "Metrics related by the issue $issueSmSt",
+    "tma_issueSpSt": "Metrics related by the issue $issueSpSt",
+    "tma_issueSyncxn": "Metrics related by the issue $issueSyncxn",
+    "tma_issueTLB": "Metrics related by the issue $issueTLB",
+    "tma_l1_bound_group": "Metrics contributing to tma_l1_bound category",
+    "tma_l3_bound_group": "Metrics contributing to tma_l3_bound category",
+    "tma_light_operations_group": "Metrics contributing to tma_light_operations category",
+    "tma_load_op_utilization_group": "Metrics contributing to tma_load_op_utilization category",
+    "tma_mem_latency_group": "Metrics contributing to tma_mem_latency category",
+    "tma_memory_bound_group": "Metrics contributing to tma_memory_bound category",
+    "tma_microcode_sequencer_group": "Metrics contributing to tma_microcode_sequencer category",
+    "tma_mite_group": "Metrics contributing to tma_mite category",
+    "tma_ports_utilization_group": "Metrics contributing to tma_ports_utilization category",
+    "tma_ports_utilized_0_group": "Metrics contributing to tma_ports_utilized_0 category",
+    "tma_ports_utilized_3m_group": "Metrics contributing to tma_ports_utilized_3m category",
+    "tma_retiring_group": "Metrics contributing to tma_retiring category",
+    "tma_serializing_operation_group": "Metrics contributing to tma_serializing_operation category",
+    "tma_store_bound_group": "Metrics contributing to tma_store_bound category",
+    "tma_store_op_utilization_group": "Metrics contributing to tma_store_op_utilization category"
+}
diff --git a/tools/perf/pmu-events/arch/x86/skylakex/metricgroups.json b/tools/perf/pmu-events/arch/x86/skylakex/metricgroups.json
new file mode 100644
index 000000000000..4c421c80bd1f
--- /dev/null
+++ b/tools/perf/pmu-events/arch/x86/skylakex/metricgroups.json
@@ -0,0 +1,114 @@
+{
+    "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",
+    "CacheMisses": "Grouping from metrics spreadsheet",
+    "CodeGen": "Grouping from metrics spreadsheet",
+    "Compute": "Grouping from metrics spreadsheet",
+    "Cor": "Grouping from metrics spreadsheet",
+    "DSB": "Grouping from metrics spreadsheet",
+    "DSBmiss": "Grouping from metrics spreadsheet",
+    "DataSharing": "Grouping from metrics spreadsheet",
+    "Fed": "Grouping from metrics spreadsheet",
+    "FetchBW": "Grouping from metrics spreadsheet",
+    "FetchLat": "Grouping from metrics spreadsheet",
+    "Flops": "Grouping from metrics spreadsheet",
+    "FpScalar": "Grouping from metrics spreadsheet",
+    "FpVector": "Grouping from metrics spreadsheet",
+    "Frontend": "Grouping from metrics spreadsheet",
+    "HPC": "Grouping from metrics spreadsheet",
+    "IcMiss": "Grouping from metrics spreadsheet",
+    "InsType": "Grouping from metrics spreadsheet",
+    "IoBW": "Grouping from metrics spreadsheet",
+    "L2Evicts": "Grouping from metrics spreadsheet",
+    "LSD": "Grouping from metrics spreadsheet",
+    "MachineClears": "Grouping from metrics spreadsheet",
+    "Mem": "Grouping from metrics spreadsheet",
+    "MemoryBW": "Grouping from metrics spreadsheet",
+    "MemoryBound": "Grouping from metrics spreadsheet",
+    "MemoryLat": "Grouping from metrics spreadsheet",
+    "MemoryTLB": "Grouping from metrics spreadsheet",
+    "Memory_BW": "Grouping from metrics spreadsheet",
+    "Memory_Lat": "Grouping from metrics spreadsheet",
+    "MicroSeq": "Grouping from metrics spreadsheet",
+    "OS": "Grouping from metrics spreadsheet",
+    "Offcore": "Grouping from metrics spreadsheet",
+    "PGO": "Grouping from metrics spreadsheet",
+    "Pipeline": "Grouping from metrics spreadsheet",
+    "PortsUtil": "Grouping from metrics spreadsheet",
+    "Power": "Grouping from metrics spreadsheet",
+    "Prefetches": "Grouping from metrics spreadsheet",
+    "Ret": "Grouping from metrics spreadsheet",
+    "Retire": "Grouping from metrics spreadsheet",
+    "SMT": "Grouping from metrics spreadsheet",
+    "Server": "Grouping from metrics spreadsheet",
+    "Snoop": "Grouping from metrics spreadsheet",
+    "SoC": "Grouping from metrics spreadsheet",
+    "Summary": "Grouping from metrics spreadsheet",
+    "TmaL1": "Grouping from metrics spreadsheet",
+    "TmaL2": "Grouping from metrics spreadsheet",
+    "TmaL3mem": "Grouping from metrics spreadsheet",
+    "TopdownL1": "Metrics for top-down breakdown at level 1",
+    "TopdownL2": "Metrics for top-down breakdown at level 2",
+    "TopdownL3": "Metrics for top-down breakdown at level 3",
+    "TopdownL4": "Metrics for top-down breakdown at level 4",
+    "TopdownL5": "Metrics for top-down breakdown at level 5",
+    "TopdownL6": "Metrics for top-down breakdown at level 6",
+    "tma_L1_group": "Metrics for top-down breakdown at level 1",
+    "tma_L2_group": "Metrics for top-down breakdown at level 2",
+    "tma_L3_group": "Metrics for top-down breakdown at level 3",
+    "tma_L4_group": "Metrics for top-down breakdown at level 4",
+    "tma_L5_group": "Metrics for top-down breakdown at level 5",
+    "tma_L6_group": "Metrics for top-down breakdown at level 6",
+    "tma_alu_op_utilization_group": "Metrics contributing to tma_alu_op_utilization category",
+    "tma_backend_bound_group": "Metrics contributing to tma_backend_bound category",
+    "tma_bad_speculation_group": "Metrics contributing to tma_bad_speculation category",
+    "tma_branch_resteers_group": "Metrics contributing to tma_branch_resteers category",
+    "tma_core_bound_group": "Metrics contributing to tma_core_bound category",
+    "tma_dram_bound_group": "Metrics contributing to tma_dram_bound category",
+    "tma_dtlb_load_group": "Metrics contributing to tma_dtlb_load category",
+    "tma_dtlb_store_group": "Metrics contributing to tma_dtlb_store category",
+    "tma_fetch_bandwidth_group": "Metrics contributing to tma_fetch_bandwidth category",
+    "tma_fetch_latency_group": "Metrics contributing to tma_fetch_latency category",
+    "tma_fp_arith_group": "Metrics contributing to tma_fp_arith category",
+    "tma_fp_vector_group": "Metrics contributing to tma_fp_vector category",
+    "tma_frontend_bound_group": "Metrics contributing to tma_frontend_bound category",
+    "tma_heavy_operations_group": "Metrics contributing to tma_heavy_operations category",
+    "tma_issue2P": "Metrics related by the issue $issue2P",
+    "tma_issueBC": "Metrics related by the issue $issueBC",
+    "tma_issueBM": "Metrics related by the issue $issueBM",
+    "tma_issueBW": "Metrics related by the issue $issueBW",
+    "tma_issueD0": "Metrics related by the issue $issueD0",
+    "tma_issueFB": "Metrics related by the issue $issueFB",
+    "tma_issueFL": "Metrics related by the issue $issueFL",
+    "tma_issueL1": "Metrics related by the issue $issueL1",
+    "tma_issueLat": "Metrics related by the issue $issueLat",
+    "tma_issueMC": "Metrics related by the issue $issueMC",
+    "tma_issueMS": "Metrics related by the issue $issueMS",
+    "tma_issueMV": "Metrics related by the issue $issueMV",
+    "tma_issueRFO": "Metrics related by the issue $issueRFO",
+    "tma_issueSL": "Metrics related by the issue $issueSL",
+    "tma_issueSO": "Metrics related by the issue $issueSO",
+    "tma_issueSmSt": "Metrics related by the issue $issueSmSt",
+    "tma_issueSpSt": "Metrics related by the issue $issueSpSt",
+    "tma_issueSyncxn": "Metrics related by the issue $issueSyncxn",
+    "tma_issueTLB": "Metrics related by the issue $issueTLB",
+    "tma_l1_bound_group": "Metrics contributing to tma_l1_bound category",
+    "tma_l3_bound_group": "Metrics contributing to tma_l3_bound category",
+    "tma_light_operations_group": "Metrics contributing to tma_light_operations category",
+    "tma_load_op_utilization_group": "Metrics contributing to tma_load_op_utilization category",
+    "tma_mem_latency_group": "Metrics contributing to tma_mem_latency category",
+    "tma_memory_bound_group": "Metrics contributing to tma_memory_bound category",
+    "tma_microcode_sequencer_group": "Metrics contributing to tma_microcode_sequencer category",
+    "tma_mite_group": "Metrics contributing to tma_mite category",
+    "tma_ports_utilization_group": "Metrics contributing to tma_ports_utilization category",
+    "tma_ports_utilized_0_group": "Metrics contributing to tma_ports_utilized_0 category",
+    "tma_ports_utilized_3m_group": "Metrics contributing to tma_ports_utilized_3m category",
+    "tma_retiring_group": "Metrics contributing to tma_retiring category",
+    "tma_serializing_operation_group": "Metrics contributing to tma_serializing_operation category",
+    "tma_store_bound_group": "Metrics contributing to tma_store_bound category",
+    "tma_store_op_utilization_group": "Metrics contributing to tma_store_op_utilization category"
+}
diff --git a/tools/perf/pmu-events/arch/x86/tigerlake/metricgroups.json b/tools/perf/pmu-events/arch/x86/tigerlake/metricgroups.json
new file mode 100644
index 000000000000..56c0f106e415
--- /dev/null
+++ b/tools/perf/pmu-events/arch/x86/tigerlake/metricgroups.json
@@ -0,0 +1,113 @@
+{
+    "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",
+    "CacheMisses": "Grouping from metrics spreadsheet",
+    "CodeGen": "Grouping from metrics spreadsheet",
+    "Compute": "Grouping from metrics spreadsheet",
+    "Cor": "Grouping from metrics spreadsheet",
+    "DSB": "Grouping from metrics spreadsheet",
+    "DSBmiss": "Grouping from metrics spreadsheet",
+    "DataSharing": "Grouping from metrics spreadsheet",
+    "Fed": "Grouping from metrics spreadsheet",
+    "FetchBW": "Grouping from metrics spreadsheet",
+    "FetchLat": "Grouping from metrics spreadsheet",
+    "Flops": "Grouping from metrics spreadsheet",
+    "FpScalar": "Grouping from metrics spreadsheet",
+    "FpVector": "Grouping from metrics spreadsheet",
+    "Frontend": "Grouping from metrics spreadsheet",
+    "HPC": "Grouping from metrics spreadsheet",
+    "IcMiss": "Grouping from metrics spreadsheet",
+    "InsType": "Grouping from metrics spreadsheet",
+    "L2Evicts": "Grouping from metrics spreadsheet",
+    "LSD": "Grouping from metrics spreadsheet",
+    "MachineClears": "Grouping from metrics spreadsheet",
+    "Mem": "Grouping from metrics spreadsheet",
+    "MemoryBW": "Grouping from metrics spreadsheet",
+    "MemoryBound": "Grouping from metrics spreadsheet",
+    "MemoryLat": "Grouping from metrics spreadsheet",
+    "MemoryTLB": "Grouping from metrics spreadsheet",
+    "Memory_BW": "Grouping from metrics spreadsheet",
+    "Memory_Lat": "Grouping from metrics spreadsheet",
+    "MicroSeq": "Grouping from metrics spreadsheet",
+    "OS": "Grouping from metrics spreadsheet",
+    "Offcore": "Grouping from metrics spreadsheet",
+    "PGO": "Grouping from metrics spreadsheet",
+    "Pipeline": "Grouping from metrics spreadsheet",
+    "PortsUtil": "Grouping from metrics spreadsheet",
+    "Power": "Grouping from metrics spreadsheet",
+    "Prefetches": "Grouping from metrics spreadsheet",
+    "Ret": "Grouping from metrics spreadsheet",
+    "Retire": "Grouping from metrics spreadsheet",
+    "SMT": "Grouping from metrics spreadsheet",
+    "Server": "Grouping from metrics spreadsheet",
+    "Snoop": "Grouping from metrics spreadsheet",
+    "SoC": "Grouping from metrics spreadsheet",
+    "Summary": "Grouping from metrics spreadsheet",
+    "TmaL1": "Grouping from metrics spreadsheet",
+    "TmaL2": "Grouping from metrics spreadsheet",
+    "TmaL3mem": "Grouping from metrics spreadsheet",
+    "TopdownL1": "Metrics for top-down breakdown at level 1",
+    "TopdownL2": "Metrics for top-down breakdown at level 2",
+    "TopdownL3": "Metrics for top-down breakdown at level 3",
+    "TopdownL4": "Metrics for top-down breakdown at level 4",
+    "TopdownL5": "Metrics for top-down breakdown at level 5",
+    "TopdownL6": "Metrics for top-down breakdown at level 6",
+    "tma_L1_group": "Metrics for top-down breakdown at level 1",
+    "tma_L2_group": "Metrics for top-down breakdown at level 2",
+    "tma_L3_group": "Metrics for top-down breakdown at level 3",
+    "tma_L4_group": "Metrics for top-down breakdown at level 4",
+    "tma_L5_group": "Metrics for top-down breakdown at level 5",
+    "tma_L6_group": "Metrics for top-down breakdown at level 6",
+    "tma_alu_op_utilization_group": "Metrics contributing to tma_alu_op_utilization category",
+    "tma_backend_bound_group": "Metrics contributing to tma_backend_bound category",
+    "tma_bad_speculation_group": "Metrics contributing to tma_bad_speculation category",
+    "tma_branch_resteers_group": "Metrics contributing to tma_branch_resteers category",
+    "tma_core_bound_group": "Metrics contributing to tma_core_bound category",
+    "tma_dram_bound_group": "Metrics contributing to tma_dram_bound category",
+    "tma_dtlb_load_group": "Metrics contributing to tma_dtlb_load category",
+    "tma_dtlb_store_group": "Metrics contributing to tma_dtlb_store category",
+    "tma_fetch_bandwidth_group": "Metrics contributing to tma_fetch_bandwidth category",
+    "tma_fetch_latency_group": "Metrics contributing to tma_fetch_latency category",
+    "tma_fp_arith_group": "Metrics contributing to tma_fp_arith category",
+    "tma_fp_vector_group": "Metrics contributing to tma_fp_vector category",
+    "tma_frontend_bound_group": "Metrics contributing to tma_frontend_bound category",
+    "tma_heavy_operations_group": "Metrics contributing to tma_heavy_operations category",
+    "tma_issue2P": "Metrics related by the issue $issue2P",
+    "tma_issueBC": "Metrics related by the issue $issueBC",
+    "tma_issueBM": "Metrics related by the issue $issueBM",
+    "tma_issueBW": "Metrics related by the issue $issueBW",
+    "tma_issueD0": "Metrics related by the issue $issueD0",
+    "tma_issueFB": "Metrics related by the issue $issueFB",
+    "tma_issueFL": "Metrics related by the issue $issueFL",
+    "tma_issueL1": "Metrics related by the issue $issueL1",
+    "tma_issueLat": "Metrics related by the issue $issueLat",
+    "tma_issueMC": "Metrics related by the issue $issueMC",
+    "tma_issueMS": "Metrics related by the issue $issueMS",
+    "tma_issueMV": "Metrics related by the issue $issueMV",
+    "tma_issueRFO": "Metrics related by the issue $issueRFO",
+    "tma_issueSL": "Metrics related by the issue $issueSL",
+    "tma_issueSO": "Metrics related by the issue $issueSO",
+    "tma_issueSmSt": "Metrics related by the issue $issueSmSt",
+    "tma_issueSpSt": "Metrics related by the issue $issueSpSt",
+    "tma_issueSyncxn": "Metrics related by the issue $issueSyncxn",
+    "tma_issueTLB": "Metrics related by the issue $issueTLB",
+    "tma_l1_bound_group": "Metrics contributing to tma_l1_bound category",
+    "tma_l3_bound_group": "Metrics contributing to tma_l3_bound category",
+    "tma_light_operations_group": "Metrics contributing to tma_light_operations category",
+    "tma_load_op_utilization_group": "Metrics contributing to tma_load_op_utilization category",
+    "tma_mem_latency_group": "Metrics contributing to tma_mem_latency category",
+    "tma_memory_bound_group": "Metrics contributing to tma_memory_bound category",
+    "tma_microcode_sequencer_group": "Metrics contributing to tma_microcode_sequencer category",
+    "tma_mite_group": "Metrics contributing to tma_mite category",
+    "tma_ports_utilization_group": "Metrics contributing to tma_ports_utilization category",
+    "tma_ports_utilized_0_group": "Metrics contributing to tma_ports_utilized_0 category",
+    "tma_ports_utilized_3m_group": "Metrics contributing to tma_ports_utilized_3m category",
+    "tma_retiring_group": "Metrics contributing to tma_retiring category",
+    "tma_serializing_operation_group": "Metrics contributing to tma_serializing_operation category",
+    "tma_store_bound_group": "Metrics contributing to tma_store_bound category",
+    "tma_store_op_utilization_group": "Metrics contributing to tma_store_op_utilization category"
+}
-- 
2.40.1.606.ga4b1b128d6-goog


  parent reply	other threads:[~2023-05-15 22:01 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-15 21:58 [PATCH v1 00/15] Event, metric and metric group improvements Ian Rogers
2023-05-15 21:58 ` [PATCH v1 01/15] perf vendor events intel: Update alderlake events/metrics Ian Rogers
2023-05-15 21:58 ` [PATCH v1 02/15] perf vendor events intel: Update broadwell variant events/metrics Ian Rogers
2023-05-15 21:58 ` [PATCH v1 03/15] perf vendor events intel: Update cascadelakex events/metrics Ian Rogers
2023-05-15 21:58 ` [PATCH v1 04/15] perf vendor events intel: Update elkhartlake events Ian Rogers
2023-05-15 21:58 ` [PATCH v1 05/15] perf vendor events intel: Update haswell(x) metrics Ian Rogers
2023-05-15 21:58 ` [PATCH v1 06/15] perf vendor events intel: Update icelake/icelakex events/metrics Ian Rogers
2023-05-15 21:58 ` [PATCH v1 07/15] perf vendor events intel: Update ivybridge/ivytown metrics Ian Rogers
2023-05-15 21:58 ` [PATCH v1 08/15] perf vendor events intel: Update jaketown metrics Ian Rogers
2023-05-15 21:58 ` [PATCH v1 09/15] perf vendor events intel: Update sandybridge metrics Ian Rogers
2023-05-15 21:58 ` [PATCH v1 10/15] perf vendor events intel: Update sapphirerapids events/metrics Ian Rogers
2023-05-15 21:58 ` [PATCH v1 11/15] perf vendor events intel: Update skylake/skylakex events/metrics Ian Rogers
2023-05-15 21:58 ` [PATCH v1 12/15] perf vendor events intel: Update snowridgex events Ian Rogers
2023-05-15 21:58 ` [PATCH v1 13/15] perf vendor events intel: Update tigerlake events/metrics Ian Rogers
2023-05-15 21:58 ` [PATCH v1 14/15] perf jevents: Add support for metricgroup descriptions Ian Rogers
2023-05-15 21:58 ` Ian Rogers [this message]
2023-05-16 17:53   ` [PATCH v1 15/15] perf vendor events intel: Add metricgroup descriptions for all models Liang, Kan
2023-05-16 18:19     ` Ian Rogers
2023-05-16 21:41       ` Liang, Kan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230515215844.653610-16-irogers@google.com \
    --to=irogers@google.com \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=john.garry@huawei.com \
    --cc=jolsa@kernel.org \
    --cc=kan.liang@linux.intel.com \
    --cc=kjain@linux.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=tmricht@linux.ibm.com \
    --cc=zhengjun.xing@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®