Please pull JSON Metrics for Intel CPUs
Hi Arnaldo,
Now that the metrics patchkit has been merged, the actual JSON metrics for Intel CPUs can be merged. Please pull this version. It includes Skylake Server support and was rebased.
Thanks,
-Andi
The following changes since commit 1b2f76d77a277bb70d38ad0991ed7f16bbc115a9:
Merge tag 'perf-core-for-mingo-4.14-20170829' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2017-08-29 23:13:56 +0200)
are available in the git repository at:
ssh://ra.kernel.org/pub/scm/linux/kernel/git/ak/linux-misc.git perf/intel-json-metrics-3
for you to fetch changes up to 1b3b9b1d8a7823a6b82b26b00df7cb3730dd3da4:
perf, tools: Add JSON metrics for Skylake server (2017-09-05 16:30:18 -0700)
----------------------------------------------------------------
Andi Kleen (11):
perf, tools: Add JSON metrics for Sandy Bridge perf, tools: Add JSON metrics for Sandy Bridge EP perf, tools: Add JSON metrics for Ivy Bridge perf, tools: Add JSON metrics for Haswell perf, tools: Add JSON metrics for Broadwell perf, tools: Add JSON metrics for Skylake perf, tools: Add JSON metrics for Ivy Town perf, tools: Add JSON metrics for Haswell EP perf, tools: Add JSON metrics for Broadwell Server perf, tools: Add JSON metrics for Broadwell DE perf, tools: Add JSON metrics for Skylake server
.../pmu-events/arch/x86/broadwell/bdw-metrics.json | 164 +++++++++++++++++++ .../arch/x86/broadwellde/bdwde-metrics.json | 164 +++++++++++++++++++ .../arch/x86/broadwellx/bdx-metrics.json | 164 +++++++++++++++++++ .../pmu-events/arch/x86/haswell/hsw-metrics.json | 158 ++++++++++++++++++ .../pmu-events/arch/x86/haswellx/hsx-metrics.json | 158 ++++++++++++++++++ .../pmu-events/arch/x86/ivybridge/ivb-metrics.json | 164 +++++++++++++++++++ .../pmu-events/arch/x86/ivytown/ivt-metrics.json | 164 +++++++++++++++++++ .../pmu-events/arch/x86/jaketown/jkt-metrics.json | 140 ++++++++++++++++ .../arch/x86/sandybridge/snb-metrics.json | 140 ++++++++++++++++ .../pmu-events/arch/x86/skylake/skl-metrics.json | 164 +++++++++++++++++++ .../pmu-events/arch/x86/skylakex/skx-metrics.json | 182 +++++++++++++++++++++ 11 files changed, 1762 insertions(+) create mode 100644 tools/perf/pmu-events/arch/x86/broadwell/bdw-metrics.json create mode 100644 tools/perf/pmu-events/arch/x86/broadwellde/bdwde-metrics.json create mode 100644 tools/perf/pmu-events/arch/x86/broadwellx/bdx-metrics.json create mode 100644 tools/perf/pmu-events/arch/x86/haswell/hsw-metrics.json create mode 100644 tools/perf/pmu-events/arch/x86/haswellx/hsx-metrics.json create mode 100644 tools/perf/pmu-events/arch/x86/ivybridge/ivb-metrics.json create mode 100644 tools/perf/pmu-events/arch/x86/ivytown/ivt-metrics.json create mode 100644 tools/perf/pmu-events/arch/x86/jaketown/jkt-metrics.json create mode 100644 tools/perf/pmu-events/arch/x86/sandybridge/snb-metrics.json create mode 100644 tools/perf/pmu-events/arch/x86/skylake/skl-metrics.json create mode 100644 tools/perf/pmu-events/arch/x86/skylakex/skx-metrics.json
Arnaldo Carvalho de Melo
maintainerEm Fri, Sep 08, 2017 at 11:01:33AM -0700, Andi Kleen escreveu:
Quoted 6 lines
Hi Arnaldo,
Now that the metrics patchkit has been merged, the actual JSON metrics for Intel CPUs can be merged. Please pull this version. It includes Skylake Server support and was rebased.
Ok, I did some testing with Sandy Bridge, Broadwell and Skylake machines, picked the rest without tests.
Please send me the patch for warning the user when the kernel lacks what is necessary for this to work when you have it,
Thanks,
- Arnaldo
Quoted 52 lines
Thanks,
-AndiThe following changes since commit
1b2f76d77a277bb70d38ad0991ed7f16bbc115a9:Merge tag 'perf-core-for-mingo-4.14-20170829' of
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linuxinto perf/core (2017-08-29 23:13:56 +0200)are available in the git repository at:
ssh://ra.kernel.org/pub/scm/linux/kernel/git/ak/linux-misc.git perf/intel-json-metrics-3
for you to fetch changes up to
1b3b9b1d8a7823a6b82b26b00df7cb3730dd3da4:perf, tools: Add JSON metrics for Skylake server (2017-09-05 16:30:18 -0700)
----------------------------------------------------------------
Andi Kleen (11):
perf, tools: Add JSON metrics for Sandy Bridge perf, tools: Add JSON metrics for Sandy Bridge EP perf, tools: Add JSON metrics for Ivy Bridge perf, tools: Add JSON metrics for Haswell perf, tools: Add JSON metrics for Broadwell perf, tools: Add JSON metrics for Skylake perf, tools: Add JSON metrics for Ivy Town perf, tools: Add JSON metrics for Haswell EP perf, tools: Add JSON metrics for Broadwell Server perf, tools: Add JSON metrics for Broadwell DE perf, tools: Add JSON metrics for Skylake server.../pmu-events/arch/x86/broadwell/bdw-metrics.json | 164 +++++++++++++++++++ .../arch/x86/broadwellde/bdwde-metrics.json | 164 +++++++++++++++++++ .../arch/x86/broadwellx/bdx-metrics.json | 164 +++++++++++++++++++ .../pmu-events/arch/x86/haswell/hsw-metrics.json | 158 ++++++++++++++++++ .../pmu-events/arch/x86/haswellx/hsx-metrics.json | 158 ++++++++++++++++++ .../pmu-events/arch/x86/ivybridge/ivb-metrics.json | 164 +++++++++++++++++++ .../pmu-events/arch/x86/ivytown/ivt-metrics.json | 164 +++++++++++++++++++ .../pmu-events/arch/x86/jaketown/jkt-metrics.json | 140 ++++++++++++++++ .../arch/x86/sandybridge/snb-metrics.json | 140 ++++++++++++++++ .../pmu-events/arch/x86/skylake/skl-metrics.json | 164 +++++++++++++++++++ .../pmu-events/arch/x86/skylakex/skx-metrics.json | 182 +++++++++++++++++++++ 11 files changed, 1762 insertions(+) create mode 100644 tools/perf/pmu-events/arch/x86/broadwell/bdw-metrics.json create mode 100644 tools/perf/pmu-events/arch/x86/broadwellde/bdwde-metrics.json create mode 100644 tools/perf/pmu-events/arch/x86/broadwellx/bdx-metrics.json create mode 100644 tools/perf/pmu-events/arch/x86/haswell/hsw-metrics.json create mode 100644 tools/perf/pmu-events/arch/x86/haswellx/hsx-metrics.json create mode 100644 tools/perf/pmu-events/arch/x86/ivybridge/ivb-metrics.json create mode 100644 tools/perf/pmu-events/arch/x86/ivytown/ivt-metrics.json create mode 100644 tools/perf/pmu-events/arch/x86/jaketown/jkt-metrics.json create mode 100644 tools/perf/pmu-events/arch/x86/sandybridge/snb-metrics.json create mode 100644 tools/perf/pmu-events/arch/x86/skylake/skl-metrics.json create mode 100644 tools/perf/pmu-events/arch/x86/skylakex/skx-metrics.json
tip-bot for Andi Kleen
merge bot[tip:perf/core] perf vendor events: Add JSON metrics for Sandy Bridge EP
In reply to Andi Kleenperf vendor events: Add JSON metrics for Sandy Bridge EP
Commit-ID: 28bc0ddb3a89a09b6f2d4dc97b85e28b2a70db1e Gitweb: http://git.kernel.org/tip/28bc0ddb3a89a09b6f2d4dc97b85e28b2a70db1e Author: Andi Kleen <[email protected]> AuthorDate: Sun, 23 Jul 2017 21:51:07 -0700 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Wed, 13 Sep 2017 09:49:17 -0300
perf vendor events: Add JSON metrics for Sandy Bridge EP
Add JSON metrics for Sandy Bridge EP.
---
.../arch/x86/{sandybridge/snb-metrics.json => jaketown/jkt-metrics.json} | 0
1 file changed, 0 insertions(+), 0 deletions(-)tools/perf/pmu-events/arch/x86/jaketown/jkt-metrics.json renamed from tools/perf/pmu-events/arch/x86/sandybridge/snb-metrics.json +0 -0
tip-bot for Andi Kleen
merge bot[tip:perf/core] perf vendor events: Add JSON metrics for Ivy Bridge
In reply to Andi Kleenperf vendor events: Add JSON metrics for Ivy Bridge
Commit-ID: 8853d2de0efe25572d3a7033bbb87c9b1208391e Gitweb: http://git.kernel.org/tip/8853d2de0efe25572d3a7033bbb87c9b1208391e Author: Andi Kleen <[email protected]> AuthorDate: Sun, 23 Jul 2017 21:51:25 -0700 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Wed, 13 Sep 2017 09:49:17 -0300
perf vendor events: Add JSON metrics for Ivy Bridge
Add JSON metrics for Ivy Bridge.
---
.../{broadwell/bdw-metrics.json => ivybridge/ivb-metrics.json} | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)tools/perf/pmu-events/arch/x86/ivybridge/ivb-metrics.json renamed from tools/perf/pmu-events/arch/x86/broadwell/bdw-metrics.json +4 -4
@@ -13,7 +13,7 @@ }, { "BriefDescription": "Rough Estimation of fraction of fetched lines bytes that were likely consumed by program instructions", - "MetricExpr": "min( 1 , IDQ.MITE_UOPS / ( UOPS_RETIRED.RETIRE_SLOTS / INST_RETIRED.ANY * 16 * ( ICACHE.HIT + ICACHE.MISSES ) / 4.0 ) )", + "MetricExpr": "min( 1 , UOPS_ISSUED.ANY / ( UOPS_RETIRED.RETIRE_SLOTS / INST_RETIRED.ANY * 32 * ( ICACHE.HIT + ICACHE.MISSES ) / 4) )", "MetricGroup": "Frontend", "MetricName": "IFetch_Line_Utilization" },
@@ -61,7 +61,7 @@ }, { "BriefDescription": "Average Branch Address Clear Cost (fraction of cycles)", - "MetricExpr": "2* ( RS_EVENTS.EMPTY_CYCLES - ICACHE.IFDATA_STALL - ( 14 * ITLB_MISSES.STLB_HIT + cpu@ITLB_MISSES.WALK_DURATION\\,cmask\\=1@ + 7* ITLB_MISSES.WALK_COMPLETED ) ) / RS_EVENTS.EMPTY_END", + "MetricExpr": "2* ( RS_EVENTS.EMPTY_CYCLES - ICACHE.IFETCH_STALL ) / RS_EVENTS.EMPTY_END", "MetricGroup": "Unknown_Branches", "MetricName": "BAClear_Cost" },
@@ -85,7 +85,7 @@ }, { "BriefDescription": "Utilization of the core's Page Walker(s) serving STLB misses triggered by instruction/Load/Store accesses", - "MetricExpr": "( cpu@ITLB_MISSES.WALK_DURATION\\,cmask\\=1@ + cpu@DTLB_LOAD_MISSES.WALK_DURATION\\,cmask\\=1@ + cpu@DTLB_STORE_MISSES.WALK_DURATION\\,cmask\\=1@ + 7*(DTLB_STORE_MISSES.WALK_COMPLETED+DTLB_LOAD_MISSES.WALK_COMPLETED+ITLB_MISSES.WALK_COMPLETED)) / ( CPU_CLK_UNHALTED.THREAD_ANY / 2 ) if #SMT_on else cycles", + "MetricExpr": "( ITLB_MISSES.WALK_DURATION + DTLB_LOAD_MISSES.WALK_DURATION + DTLB_STORE_MISSES.WALK_DURATION ) / ( CPU_CLK_UNHALTED.THREAD_ANY / 2 ) if #SMT_on else cycles", "MetricGroup": "TLB", "MetricName": "Page_Walks_Utilization" },
@@ -97,7 +97,7 @@ }, { "BriefDescription": "Giga Floating Point Operations Per Second", - "MetricExpr": "( 1*( FP_ARITH_INST_RETIRED.SCALAR_SINGLE + FP_ARITH_INST_RETIRED.SCALAR_DOUBLE ) + 2* FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE + 4*( FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE + FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE ) + 8* FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE ) / 1000000000 / duration_time", + "MetricExpr": "( 1*( FP_COMP_OPS_EXE.SSE_SCALAR_SINGLE + FP_COMP_OPS_EXE.SSE_SCALAR_DOUBLE ) + 2* FP_COMP_OPS_EXE.SSE_PACKED_DOUBLE + 4*( FP_COMP_OPS_EXE.SSE_PACKED_SINGLE + SIMD_FP_256.PACKED_DOUBLE ) + 8* SIMD_FP_256.PACKED_SINGLE ) / 1000000000 / duration_time", "MetricGroup": "FLOPS;Summary", "MetricName": "GFLOPs" },
tip-bot for Andi Kleen
merge bot[tip:perf/core] perf vendor events: Add JSON metrics for Haswell
In reply to Andi Kleenperf vendor events: Add JSON metrics for Haswell
Commit-ID: 2099f51d1851c8955ed3406683be0b961c7792cb Gitweb: http://git.kernel.org/tip/2099f51d1851c8955ed3406683be0b961c7792cb Author: Andi Kleen <[email protected]> AuthorDate: Sun, 23 Jul 2017 21:51:47 -0700 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Wed, 13 Sep 2017 09:49:17 -0300
perf vendor events: Add JSON metrics for Haswell
Add JSON metrics for Haswell.
---
.../{ivybridge/ivb-metrics.json => haswell/hsw-metrics.json} | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)tools/perf/pmu-events/arch/x86/haswell/hsw-metrics.json renamed from tools/perf/pmu-events/arch/x86/ivybridge/ivb-metrics.json +3 -9
@@ -13,7 +13,7 @@ }, { "BriefDescription": "Rough Estimation of fraction of fetched lines bytes that were likely consumed by program instructions", - "MetricExpr": "min( 1 , UOPS_ISSUED.ANY / ( UOPS_RETIRED.RETIRE_SLOTS / INST_RETIRED.ANY * 32 * ( ICACHE.HIT + ICACHE.MISSES ) / 4) )", + "MetricExpr": "min( 1 , IDQ.MITE_UOPS / ( UOPS_RETIRED.RETIRE_SLOTS / INST_RETIRED.ANY * 16 * ( ICACHE.HIT + ICACHE.MISSES ) / 4.0 ) )", "MetricGroup": "Frontend", "MetricName": "IFetch_Line_Utilization" },
@@ -55,13 +55,13 @@ }, { "BriefDescription": "Instruction-Level-Parallelism (average number of uops executed when there is at least 1 uop executed)", - "MetricExpr": "UOPS_EXECUTED.THREAD / ( cpu@uops_executed.core\\,cmask\\=1@ / 2) if #SMT_on else UOPS_EXECUTED.CYCLES_GE_1_UOP_EXEC", + "MetricExpr": "( UOPS_EXECUTED.CORE / 2 / ( cpu@uops_executed.core\\,cmask\\=1@ / 2)) if #SMT_on else (UOPS_EXECUTED.CORE / cpu@uops_executed.core\\,cmask\\=1@)", "MetricGroup": "Pipeline;Ports_Utilization", "MetricName": "ILP" }, { "BriefDescription": "Average Branch Address Clear Cost (fraction of cycles)", - "MetricExpr": "2* ( RS_EVENTS.EMPTY_CYCLES - ICACHE.IFETCH_STALL ) / RS_EVENTS.EMPTY_END", + "MetricExpr": "2* ( RS_EVENTS.EMPTY_CYCLES - ICACHE.IFDATA_STALL - ( 14 * ITLB_MISSES.STLB_HIT + ITLB_MISSES.WALK_DURATION ) ) / RS_EVENTS.EMPTY_END", "MetricGroup": "Unknown_Branches", "MetricName": "BAClear_Cost" },
@@ -96,12 +96,6 @@ "MetricName": "CPU_Utilization" }, { - "BriefDescription": "Giga Floating Point Operations Per Second", - "MetricExpr": "( 1*( FP_COMP_OPS_EXE.SSE_SCALAR_SINGLE + FP_COMP_OPS_EXE.SSE_SCALAR_DOUBLE ) + 2* FP_COMP_OPS_EXE.SSE_PACKED_DOUBLE + 4*( FP_COMP_OPS_EXE.SSE_PACKED_SINGLE + SIMD_FP_256.PACKED_DOUBLE ) + 8* SIMD_FP_256.PACKED_SINGLE ) / 1000000000 / duration_time", - "MetricGroup": "FLOPS;Summary", - "MetricName": "GFLOPs" - }, - { "BriefDescription": "Average Frequency Utilization relative nominal frequency", "MetricExpr": "CPU_CLK_UNHALTED.THREAD / CPU_CLK_UNHALTED.REF_TSC", "MetricGroup": "Power",
tip-bot for Andi Kleen
merge bot[tip:perf/core] perf vendor events: Add JSON metrics for Ivy Town
In reply to Andi Kleenperf vendor events: Add JSON metrics for Ivy Town
Commit-ID: 43fd36a19d501483d5ec243dd28268646f717cde Gitweb: http://git.kernel.org/tip/43fd36a19d501483d5ec243dd28268646f717cde Author: Andi Kleen <[email protected]> AuthorDate: Sun, 23 Jul 2017 21:55:16 -0700 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Wed, 13 Sep 2017 09:49:18 -0300
perf vendor events: Add JSON metrics for Ivy Town
Add JSON metrics for Ivy Town.
---
.../arch/x86/{ivybridge/ivb-metrics.json => ivytown/ivt-metrics.json} | 0
1 file changed, 0 insertions(+), 0 deletions(-)tools/perf/pmu-events/arch/x86/ivytown/ivt-metrics.json renamed from tools/perf/pmu-events/arch/x86/ivybridge/ivb-metrics.json +0 -0
tip-bot for Andi Kleen
merge bot[tip:perf/core] perf vendor events: Add JSON metrics for Haswell EP
In reply to Andi Kleenperf vendor events: Add JSON metrics for Haswell EP
Commit-ID: 5e49f7321b06428ac68c51096cff9a4a55c3d4d6 Gitweb: http://git.kernel.org/tip/5e49f7321b06428ac68c51096cff9a4a55c3d4d6 Author: Andi Kleen <[email protected]> AuthorDate: Sun, 23 Jul 2017 21:55:39 -0700 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Wed, 13 Sep 2017 09:49:18 -0300
perf vendor events: Add JSON metrics for Haswell EP
Add JSON metrics for Haswell EP.
---
.../arch/x86/{haswell/hsw-metrics.json => haswellx/hsx-metrics.json} | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)tools/perf/pmu-events/arch/x86/haswellx/hsx-metrics.json renamed from tools/perf/pmu-events/arch/x86/haswell/hsw-metrics.json +1 -1
@@ -55,7 +55,7 @@ }, { "BriefDescription": "Instruction-Level-Parallelism (average number of uops executed when there is at least 1 uop executed)", - "MetricExpr": "( UOPS_EXECUTED.CORE / 2 / ( cpu@uops_executed.core\\,cmask\\=1@ / 2)) if #SMT_on else (UOPS_EXECUTED.CORE / cpu@uops_executed.core\\,cmask\\=1@)", + "MetricExpr": "( UOPS_EXECUTED.CORE / 2 / ( cpu@uops_executed.core\\,cmask\\=1@ / 2)) if #SMT_on else UOPS_EXECUTED.CORE / cpu@uops_executed.core\\,cmask\\=1@", "MetricGroup": "Pipeline;Ports_Utilization", "MetricName": "ILP" },
tip-bot for Andi Kleen
merge bot[tip:perf/core] perf vendor events: Add JSON metrics for Broadwell Server
In reply to Andi Kleenperf vendor events: Add JSON metrics for Broadwell Server
Commit-ID: 6d75abd3e84596933aa2ca91751744271cfec6cb Gitweb: http://git.kernel.org/tip/6d75abd3e84596933aa2ca91751744271cfec6cb Author: Andi Kleen <[email protected]> AuthorDate: Sun, 23 Jul 2017 21:55:59 -0700 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Wed, 13 Sep 2017 09:49:18 -0300
perf vendor events: Add JSON metrics for Broadwell Server
Add JSON metrics for Broadwell Server.
---
.../x86/{broadwell/bdw-metrics.json => broadwellx/bdx-metrics.json} | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)tools/perf/pmu-events/arch/x86/broadwellx/bdx-metrics.json renamed from tools/perf/pmu-events/arch/x86/broadwell/bdw-metrics.json +1 -1
@@ -85,7 +85,7 @@ }, { "BriefDescription": "Utilization of the core's Page Walker(s) serving STLB misses triggered by instruction/Load/Store accesses", - "MetricExpr": "( cpu@ITLB_MISSES.WALK_DURATION\\,cmask\\=1@ + cpu@DTLB_LOAD_MISSES.WALK_DURATION\\,cmask\\=1@ + cpu@DTLB_STORE_MISSES.WALK_DURATION\\,cmask\\=1@ + 7*(DTLB_STORE_MISSES.WALK_COMPLETED+DTLB_LOAD_MISSES.WALK_COMPLETED+ITLB_MISSES.WALK_COMPLETED)) / ( CPU_CLK_UNHALTED.THREAD_ANY / 2 ) if #SMT_on else cycles", + "MetricExpr": "( ITLB_MISSES.WALK_DURATION + DTLB_LOAD_MISSES.WALK_DURATION + DTLB_STORE_MISSES.WALK_DURATION + 7*(DTLB_STORE_MISSES.WALK_COMPLETED+DTLB_LOAD_MISSES.WALK_COMPLETED+ITLB_MISSES.WALK_COMPLETED) ) / (2*( CPU_CLK_UNHALTED.THREAD_ANY / 2 ) if #SMT_on else cycles)", "MetricGroup": "TLB", "MetricName": "Page_Walks_Utilization" },
tip-bot for Andi Kleen
merge bot[tip:perf/core] perf vendor events: Add JSON metrics for Broadwell DE
In reply to Andi Kleenperf vendor events: Add JSON metrics for Broadwell DE
Commit-ID: 69e932139db1d23e978256652dbb179d6ed75204 Gitweb: http://git.kernel.org/tip/69e932139db1d23e978256652dbb179d6ed75204 Author: Andi Kleen <[email protected]> AuthorDate: Sun, 23 Jul 2017 22:00:42 -0700 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Wed, 13 Sep 2017 09:49:18 -0300
perf vendor events: Add JSON metrics for Broadwell DE
Add JSON metrics for Broadwell DE
---
.../x86/{broadwell/bdw-metrics.json => broadwellde/bdwde-metrics.json} | 0
1 file changed, 0 insertions(+), 0 deletions(-)tools/perf/pmu-events/arch/x86/broadwellde/bdwde-metrics.json renamed from tools/perf/pmu-events/arch/x86/broadwell/bdw-metrics.json +0 -0
tip-bot for Andi Kleen
merge bot[tip:perf/core] perf vendor events: Add JSON metrics for Skylake server
In reply to Andi Kleenperf vendor events: Add JSON metrics for Skylake server
Commit-ID: 56de5b63ffaff859f75c19aff057ee10f20c6c07 Gitweb: http://git.kernel.org/tip/56de5b63ffaff859f75c19aff057ee10f20c6c07 Author: Andi Kleen <[email protected]> AuthorDate: Tue, 5 Sep 2017 16:26:13 -0700 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Wed, 13 Sep 2017 09:49:18 -0300
perf vendor events: Add JSON metrics for Skylake server
Add JSON metrics for Skylake server
--- .../skl-metrics.json => skylakex/skx-metrics.json} | 36 ++++++++++++++++------ 1 file changed, 27 insertions(+), 9 deletions(-)
tools/perf/pmu-events/arch/x86/skylakex/skx-metrics.json renamed from tools/perf/pmu-events/arch/x86/skylake/skl-metrics.json +27 -9
@@ -18,7 +18,7 @@ "MetricName": "IFetch_Line_Utilization" }, { - "BriefDescription": "Fraction of Uops delivered by the DSB (aka Decoded Icache; or Uop Cache)", + "BriefDescription": "Fraction of Uops delivered by the DSB (aka Decoded ICache; or Uop Cache)", "MetricExpr": "IDQ.DSB_UOPS / ( IDQ.DSB_UOPS + LSD.UOPS + IDQ.MITE_UOPS + IDQ.MS_UOPS )", "MetricGroup": "DSB; Frontend_Bandwidth", "MetricName": "DSB_Coverage"
@@ -36,8 +36,8 @@ "MetricName": "CLKS" }, { - "BriefDescription": "Total issue-pipeline slots", - "MetricExpr": "4*( CPU_CLK_UNHALTED.THREAD_ANY / 2 ) if #SMT_on else cycles", + "BriefDescription": "Total issue-pipeline slots (per-core)", + "MetricExpr": "4*cycles if not #SMT_on else (( CPU_CLK_UNHALTED.THREAD / 2) * (CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK )) if #EBS_Mode else ( CPU_CLK_UNHALTED.THREAD_ANY / 2 )", "MetricGroup": "TopDownL1", "MetricName": "SLOTS" },
@@ -49,7 +49,7 @@ }, { "BriefDescription": "Instructions Per Cycle (per physical core)", - "MetricExpr": "INST_RETIRED.ANY / ( CPU_CLK_UNHALTED.THREAD_ANY / 2 ) if #SMT_on else cycles", + "MetricExpr": "INST_RETIRED.ANY / cycles if not #SMT_on else (( CPU_CLK_UNHALTED.THREAD / 2) * (CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK )) if #EBS_Mode else ( CPU_CLK_UNHALTED.THREAD_ANY / 2 )", "MetricGroup": "SMT", "MetricName": "CoreIPC" },
@@ -61,19 +61,19 @@ }, { "BriefDescription": "Average Branch Address Clear Cost (fraction of cycles)", - "MetricExpr": "2* ( RS_EVENTS.EMPTY_CYCLES - ICACHE_16B.IFDATA_STALL - ICACHE_64B.IFTAG_STALL ) / RS_EVENTS.EMPTY_END", + "MetricExpr": "( RS_EVENTS.EMPTY_CYCLES - (ICACHE_16B.IFDATA_STALL +2* ICACHE_16B.IFDATA_STALL:c1:e1) - ICACHE_64B.IFTAG_STALL ) / RS_EVENTS.EMPTY_END", "MetricGroup": "Unknown_Branches", "MetricName": "BAClear_Cost" }, { "BriefDescription": "Core actual clocks when any thread is active on the physical core", - "MetricExpr": "( CPU_CLK_UNHALTED.THREAD_ANY / 2 ) if #SMT_on else CPU_CLK_UNHALTED.THREAD", + "MetricExpr": "CPU_CLK_UNHALTED.THREAD if not #SMT_on else (( CPU_CLK_UNHALTED.THREAD / 2) * (CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK )) if 1 else ( CPU_CLK_UNHALTED.THREAD_ANY / 2 )", "MetricGroup": "SMT", "MetricName": "CORE_CLKS" }, { "BriefDescription": "Actual Average Latency for L1 data-cache miss demand loads", - "MetricExpr": "L1D_PEND_MISS.PENDING / ( MEM_LOAD_RETIRED.L1_MISS + MEM_LOAD_RETIRED.FB_HIT )", + "MetricExpr": "L1D_PEND_MISS.PENDING / ( MEM_LOAD_RETIRED.L1_MISS_PS + MEM_LOAD_RETIRED.FB_HIT_PS )", "MetricGroup": "Memory_Bound;Memory_Lat", "MetricName": "Load_Miss_Real_Latency" },
@@ -85,11 +85,29 @@ }, { "BriefDescription": "Utilization of the core's Page Walker(s) serving STLB misses triggered by instruction/Load/Store accesses", - "MetricExpr": "( ITLB_MISSES.WALK_PENDING + DTLB_LOAD_MISSES.WALK_PENDING + DTLB_STORE_MISSES.WALK_PENDING + EPT.WALK_PENDING ) / ( 2 * ( CPU_CLK_UNHALTED.THREAD_ANY / 2 ) if #SMT_on else cycles )", + "MetricExpr": "( ITLB_MISSES.WALK_PENDING + DTLB_LOAD_MISSES.WALK_PENDING + DTLB_STORE_MISSES.WALK_PENDING + EPT.WALK_PENDING ) / ( 2 * cycles if not #SMT_on else (( CPU_CLK_UNHALTED.THREAD / 2) * (CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK )) if #EBS_Mode else ( CPU_CLK_UNHALTED.THREAD_ANY / 2 ) )", "MetricGroup": "TLB", "MetricName": "Page_Walks_Utilization" }, { + "BriefDescription": "L1 cache miss per kilo instruction for demand loads", + "MetricExpr": "1000 * MEM_LOAD_RETIRED.L1_MISS_PS / INST_RETIRED.ANY", + "MetricGroup": "Cache_Misses;", + "MetricName": "L1MPKI" + }, + { + "BriefDescription": "L2 cache miss per kilo instruction for demand loads", + "MetricExpr": "1000 * MEM_LOAD_RETIRED.L2_MISS_PS / INST_RETIRED.ANY", + "MetricGroup": "Cache_Misses;", + "MetricName": "L2MPKI" + }, + { + "BriefDescription": "L3 cache miss per kilo instruction for demand loads", + "MetricExpr": "1000 * MEM_LOAD_RETIRED.L3_MISS_PS / INST_RETIRED.ANY", + "MetricGroup": "Cache_Misses;", + "MetricName": "L3MPKI" + }, + { "BriefDescription": "Average CPU Utilization", "MetricExpr": "CPU_CLK_UNHALTED.REF_TSC / msr@tsc@", "MetricGroup": "Summary",
@@ -97,7 +115,7 @@ }, { "BriefDescription": "Giga Floating Point Operations Per Second", - "MetricExpr": "( 1*( FP_ARITH_INST_RETIRED.SCALAR_SINGLE + FP_ARITH_INST_RETIRED.SCALAR_DOUBLE ) + 2* FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE + 4*( FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE + FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE ) + 8* FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE ) / 1000000000 / duration_time", + "MetricExpr": "( 1*( FP_ARITH_INST_RETIRED.SCALAR_SINGLE + FP_ARITH_INST_RETIRED.SCALAR_DOUBLE ) + 2* FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE + 4*( FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE + FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE ) + 8* (FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE + FP_ARITH_INST_RETIRED.512B_PACKED_DOUBLE ) + 16* FP_ARITH_INST_RETIRED.512B_PACKED_SINGLE) / 1000000000 / duration_time", "MetricGroup": "FLOPS;Summary", "MetricName": "GFLOPs" },