Previously hard coded events/metrics were used, update for the use of
the TopdownL1 json metric group.
Fixes: 94b1a603fca7 ("perf stat: Add TopdownL1 metric as a default if present")
Signed-off-by: Ian Rogers <[email protected]>
---
tools/perf/tests/attr/base-stat | 2 +-
tools/perf/tests/attr/test-stat-default | 80 ++++++++-----
tools/perf/tests/attr/test-stat-detailed-1 | 95 +++++++++------
tools/perf/tests/attr/test-stat-detailed-2 | 119 +++++++++++--------
tools/perf/tests/attr/test-stat-detailed-3 | 127 ++++++++++++---------
5 files changed, 249 insertions(+), 174 deletions(-)
diff --git a/tools/perf/tests/attr/base-stat b/tools/perf/tests/attr/base-stat
index a21fb65bc012..fccd8ec4d1b0 100644
--- a/tools/perf/tests/attr/base-stat
+++ b/tools/perf/tests/attr/base-stat
@@ -16,7 +16,7 @@ pinned=0
exclusive=0
exclude_user=0
exclude_kernel=0|1
-exclude_hv=0
+exclude_hv=0|1
exclude_idle=0
mmap=0
comm=0
diff --git a/tools/perf/tests/attr/test-stat-default b/tools/perf/tests/attr/test-stat-default
index d8ea6a88163f..a1e2da0a9a6d 100644
--- a/tools/perf/tests/attr/test-stat-default
+++ b/tools/perf/tests/attr/test-stat-default
@@ -40,7 +40,6 @@ fd=6
type=0
config=7
optional=1
-
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_STALLED_CYCLES_BACKEND
[event7:base-stat]
fd=7
@@ -89,79 +88,98 @@ enable_on_exec=0
read_format=15
optional=1
-# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
+# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
[event13:base-stat]
fd=13
group_fd=11
type=4
-config=33024
+config=33280
disabled=0
enable_on_exec=0
read_format=15
optional=1
-# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
+# PERF_TYPE_RAW / topdown-be-bound (0x8300)
[event14:base-stat]
fd=14
group_fd=11
type=4
-config=33280
+config=33536
disabled=0
enable_on_exec=0
read_format=15
optional=1
-# PERF_TYPE_RAW / topdown-be-bound (0x8300)
+# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
[event15:base-stat]
fd=15
group_fd=11
type=4
-config=33536
+config=33024
disabled=0
enable_on_exec=0
read_format=15
optional=1
-# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
+# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
[event16:base-stat]
fd=16
-group_fd=11
type=4
-config=33792
-disabled=0
-enable_on_exec=0
-read_format=15
+config=4109
optional=1
-# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
+# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
[event17:base-stat]
fd=17
-group_fd=11
type=4
-config=34048
-disabled=0
-enable_on_exec=0
-read_format=15
+config=17039629
optional=1
-# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
+# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
[event18:base-stat]
fd=18
-group_fd=11
type=4
-config=34304
-disabled=0
-enable_on_exec=0
-read_format=15
+config=60
optional=1
-# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
+# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
[event19:base-stat]
fd=19
-group_fd=11
type=4
-config=34560
-disabled=0
-enable_on_exec=0
-read_format=15
+config=2097421
+optional=1
+
+# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
+[event20:base-stat]
+fd=20
+type=4
+config=316
+optional=1
+
+# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
+[event21:base-stat]
+fd=21
+type=4
+config=412
+optional=1
+
+# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
+[event22:base-stat]
+fd=22
+type=4
+config=572
+optional=1
+
+# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
+[event23:base-stat]
+fd=23
+type=4
+config=706
+optional=1
+
+# PERF_TYPE_RAW / UOPS_ISSUED.ANY
+[event24:base-stat]
+fd=24
+type=4
+config=270
optional=1
diff --git a/tools/perf/tests/attr/test-stat-detailed-1 b/tools/perf/tests/attr/test-stat-detailed-1
index b656ab93c5bf..1c52cb05c900 100644
--- a/tools/perf/tests/attr/test-stat-detailed-1
+++ b/tools/perf/tests/attr/test-stat-detailed-1
@@ -90,89 +90,108 @@ enable_on_exec=0
read_format=15
optional=1
-# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
+# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
[event13:base-stat]
fd=13
group_fd=11
type=4
-config=33024
+config=33280
disabled=0
enable_on_exec=0
read_format=15
optional=1
-# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
+# PERF_TYPE_RAW / topdown-be-bound (0x8300)
[event14:base-stat]
fd=14
group_fd=11
type=4
-config=33280
+config=33536
disabled=0
enable_on_exec=0
read_format=15
optional=1
-# PERF_TYPE_RAW / topdown-be-bound (0x8300)
+# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
[event15:base-stat]
fd=15
group_fd=11
type=4
-config=33536
+config=33024
disabled=0
enable_on_exec=0
read_format=15
optional=1
-# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
+# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
[event16:base-stat]
fd=16
-group_fd=11
type=4
-config=33792
-disabled=0
-enable_on_exec=0
-read_format=15
+config=4109
optional=1
-# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
+# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
[event17:base-stat]
fd=17
-group_fd=11
type=4
-config=34048
-disabled=0
-enable_on_exec=0
-read_format=15
+config=17039629
optional=1
-# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
+# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
[event18:base-stat]
fd=18
-group_fd=11
type=4
-config=34304
-disabled=0
-enable_on_exec=0
-read_format=15
+config=60
optional=1
-# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
+# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
[event19:base-stat]
fd=19
-group_fd=11
type=4
-config=34560
-disabled=0
-enable_on_exec=0
-read_format=15
+config=2097421
+optional=1
+
+# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
+[event20:base-stat]
+fd=20
+type=4
+config=316
+optional=1
+
+# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
+[event21:base-stat]
+fd=21
+type=4
+config=412
+optional=1
+
+# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
+[event22:base-stat]
+fd=22
+type=4
+config=572
+optional=1
+
+# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
+[event23:base-stat]
+fd=23
+type=4
+config=706
+optional=1
+
+# PERF_TYPE_RAW / UOPS_ISSUED.ANY
+[event24:base-stat]
+fd=24
+type=4
+config=270
optional=1
# PERF_TYPE_HW_CACHE /
# PERF_COUNT_HW_CACHE_L1D << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
-[event20:base-stat]
-fd=20
+[event25:base-stat]
+fd=25
type=3
config=0
optional=1
@@ -181,8 +200,8 @@ optional=1
# PERF_COUNT_HW_CACHE_L1D << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event21:base-stat]
-fd=21
+[event26:base-stat]
+fd=26
type=3
config=65536
optional=1
@@ -191,8 +210,8 @@ optional=1
# PERF_COUNT_HW_CACHE_LL << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
-[event22:base-stat]
-fd=22
+[event27:base-stat]
+fd=27
type=3
config=2
optional=1
@@ -201,8 +220,8 @@ optional=1
# PERF_COUNT_HW_CACHE_LL << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event23:base-stat]
-fd=23
+[event28:base-stat]
+fd=28
type=3
config=65538
optional=1
diff --git a/tools/perf/tests/attr/test-stat-detailed-2 b/tools/perf/tests/attr/test-stat-detailed-2
index 97625090a1c4..7e961d24a885 100644
--- a/tools/perf/tests/attr/test-stat-detailed-2
+++ b/tools/perf/tests/attr/test-stat-detailed-2
@@ -90,89 +90,108 @@ enable_on_exec=0
read_format=15
optional=1
-# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
+# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
[event13:base-stat]
fd=13
group_fd=11
type=4
-config=33024
+config=33280
disabled=0
enable_on_exec=0
read_format=15
optional=1
-# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
+# PERF_TYPE_RAW / topdown-be-bound (0x8300)
[event14:base-stat]
fd=14
group_fd=11
type=4
-config=33280
+config=33536
disabled=0
enable_on_exec=0
read_format=15
optional=1
-# PERF_TYPE_RAW / topdown-be-bound (0x8300)
+# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
[event15:base-stat]
fd=15
group_fd=11
type=4
-config=33536
+config=33024
disabled=0
enable_on_exec=0
read_format=15
optional=1
-# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
+# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
[event16:base-stat]
fd=16
-group_fd=11
type=4
-config=33792
-disabled=0
-enable_on_exec=0
-read_format=15
+config=4109
optional=1
-# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
+# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
[event17:base-stat]
fd=17
-group_fd=11
type=4
-config=34048
-disabled=0
-enable_on_exec=0
-read_format=15
+config=17039629
optional=1
-# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
+# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
[event18:base-stat]
fd=18
-group_fd=11
type=4
-config=34304
-disabled=0
-enable_on_exec=0
-read_format=15
+config=60
optional=1
-# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
+# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
[event19:base-stat]
fd=19
-group_fd=11
type=4
-config=34560
-disabled=0
-enable_on_exec=0
-read_format=15
+config=2097421
+optional=1
+
+# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
+[event20:base-stat]
+fd=20
+type=4
+config=316
+optional=1
+
+# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
+[event21:base-stat]
+fd=21
+type=4
+config=412
+optional=1
+
+# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
+[event22:base-stat]
+fd=22
+type=4
+config=572
+optional=1
+
+# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
+[event23:base-stat]
+fd=23
+type=4
+config=706
+optional=1
+
+# PERF_TYPE_RAW / UOPS_ISSUED.ANY
+[event24:base-stat]
+fd=24
+type=4
+config=270
optional=1
# PERF_TYPE_HW_CACHE /
# PERF_COUNT_HW_CACHE_L1D << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
-[event20:base-stat]
-fd=20
+[event25:base-stat]
+fd=25
type=3
config=0
optional=1
@@ -181,8 +200,8 @@ optional=1
# PERF_COUNT_HW_CACHE_L1D << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event21:base-stat]
-fd=21
+[event26:base-stat]
+fd=26
type=3
config=65536
optional=1
@@ -191,8 +210,8 @@ optional=1
# PERF_COUNT_HW_CACHE_LL << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
-[event22:base-stat]
-fd=22
+[event27:base-stat]
+fd=27
type=3
config=2
optional=1
@@ -201,8 +220,8 @@ optional=1
# PERF_COUNT_HW_CACHE_LL << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event23:base-stat]
-fd=23
+[event28:base-stat]
+fd=28
type=3
config=65538
optional=1
@@ -211,8 +230,8 @@ optional=1
# PERF_COUNT_HW_CACHE_L1I << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
-[event24:base-stat]
-fd=24
+[event29:base-stat]
+fd=29
type=3
config=1
optional=1
@@ -221,8 +240,8 @@ optional=1
# PERF_COUNT_HW_CACHE_L1I << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event25:base-stat]
-fd=25
+[event30:base-stat]
+fd=30
type=3
config=65537
optional=1
@@ -231,8 +250,8 @@ optional=1
# PERF_COUNT_HW_CACHE_DTLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
-[event26:base-stat]
-fd=26
+[event31:base-stat]
+fd=31
type=3
config=3
optional=1
@@ -241,8 +260,8 @@ optional=1
# PERF_COUNT_HW_CACHE_DTLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event27:base-stat]
-fd=27
+[event32:base-stat]
+fd=32
type=3
config=65539
optional=1
@@ -251,8 +270,8 @@ optional=1
# PERF_COUNT_HW_CACHE_ITLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
-[event28:base-stat]
-fd=28
+[event33:base-stat]
+fd=33
type=3
config=4
optional=1
@@ -261,8 +280,8 @@ optional=1
# PERF_COUNT_HW_CACHE_ITLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event29:base-stat]
-fd=29
+[event34:base-stat]
+fd=34
type=3
config=65540
optional=1
diff --git a/tools/perf/tests/attr/test-stat-detailed-3 b/tools/perf/tests/attr/test-stat-detailed-3
index d555042e3fbf..e50535f45977 100644
--- a/tools/perf/tests/attr/test-stat-detailed-3
+++ b/tools/perf/tests/attr/test-stat-detailed-3
@@ -90,89 +90,108 @@ enable_on_exec=0
read_format=15
optional=1
-# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
+# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
[event13:base-stat]
fd=13
group_fd=11
type=4
-config=33024
+config=33280
disabled=0
enable_on_exec=0
read_format=15
optional=1
-# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
+# PERF_TYPE_RAW / topdown-be-bound (0x8300)
[event14:base-stat]
fd=14
group_fd=11
type=4
-config=33280
+config=33536
disabled=0
enable_on_exec=0
read_format=15
optional=1
-# PERF_TYPE_RAW / topdown-be-bound (0x8300)
+# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
[event15:base-stat]
fd=15
group_fd=11
type=4
-config=33536
+config=33024
disabled=0
enable_on_exec=0
read_format=15
optional=1
-# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
+# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
[event16:base-stat]
fd=16
-group_fd=11
type=4
-config=33792
-disabled=0
-enable_on_exec=0
-read_format=15
+config=4109
optional=1
-# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
+# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
[event17:base-stat]
fd=17
-group_fd=11
type=4
-config=34048
-disabled=0
-enable_on_exec=0
-read_format=15
+config=17039629
optional=1
-# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
+# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
[event18:base-stat]
fd=18
-group_fd=11
type=4
-config=34304
-disabled=0
-enable_on_exec=0
-read_format=15
+config=60
optional=1
-# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
+# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
[event19:base-stat]
fd=19
-group_fd=11
type=4
-config=34560
-disabled=0
-enable_on_exec=0
-read_format=15
+config=2097421
+optional=1
+
+# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
+[event20:base-stat]
+fd=20
+type=4
+config=316
+optional=1
+
+# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
+[event21:base-stat]
+fd=21
+type=4
+config=412
+optional=1
+
+# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
+[event22:base-stat]
+fd=22
+type=4
+config=572
+optional=1
+
+# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
+[event23:base-stat]
+fd=23
+type=4
+config=706
+optional=1
+
+# PERF_TYPE_RAW / UOPS_ISSUED.ANY
+[event24:base-stat]
+fd=24
+type=4
+config=270
optional=1
# PERF_TYPE_HW_CACHE /
# PERF_COUNT_HW_CACHE_L1D << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
-[event20:base-stat]
-fd=20
+[event25:base-stat]
+fd=25
type=3
config=0
optional=1
@@ -181,8 +200,8 @@ optional=1
# PERF_COUNT_HW_CACHE_L1D << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event21:base-stat]
-fd=21
+[event26:base-stat]
+fd=26
type=3
config=65536
optional=1
@@ -191,8 +210,8 @@ optional=1
# PERF_COUNT_HW_CACHE_LL << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
-[event22:base-stat]
-fd=22
+[event27:base-stat]
+fd=27
type=3
config=2
optional=1
@@ -201,8 +220,8 @@ optional=1
# PERF_COUNT_HW_CACHE_LL << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event23:base-stat]
-fd=23
+[event28:base-stat]
+fd=28
type=3
config=65538
optional=1
@@ -211,8 +230,8 @@ optional=1
# PERF_COUNT_HW_CACHE_L1I << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
-[event24:base-stat]
-fd=24
+[event29:base-stat]
+fd=29
type=3
config=1
optional=1
@@ -221,8 +240,8 @@ optional=1
# PERF_COUNT_HW_CACHE_L1I << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event25:base-stat]
-fd=25
+[event30:base-stat]
+fd=30
type=3
config=65537
optional=1
@@ -231,8 +250,8 @@ optional=1
# PERF_COUNT_HW_CACHE_DTLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
-[event26:base-stat]
-fd=26
+[event31:base-stat]
+fd=31
type=3
config=3
optional=1
@@ -241,8 +260,8 @@ optional=1
# PERF_COUNT_HW_CACHE_DTLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event27:base-stat]
-fd=27
+[event32:base-stat]
+fd=32
type=3
config=65539
optional=1
@@ -251,8 +270,8 @@ optional=1
# PERF_COUNT_HW_CACHE_ITLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
-[event28:base-stat]
-fd=28
+[event33:base-stat]
+fd=33
type=3
config=4
optional=1
@@ -261,8 +280,8 @@ optional=1
# PERF_COUNT_HW_CACHE_ITLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event29:base-stat]
-fd=29
+[event34:base-stat]
+fd=34
type=3
config=65540
optional=1
@@ -271,8 +290,8 @@ optional=1
# PERF_COUNT_HW_CACHE_L1D << 0 |
# (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
-[event30:base-stat]
-fd=30
+[event35:base-stat]
+fd=35
type=3
config=512
optional=1
@@ -281,8 +300,8 @@ optional=1
# PERF_COUNT_HW_CACHE_L1D << 0 |
# (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event31:base-stat]
-fd=31
+[event36:base-stat]
+fd=36
type=3
config=66048
optional=1
--
2.40.1.606.ga4b1b128d6-goog
On 17/05/2023 23:57, Ian Rogers wrote:
> Previously hard coded events/metrics were used, update for the use of
> the TopdownL1 json metric group.
>
> Fixes: 94b1a603fca7 ("perf stat: Add TopdownL1 metric as a default if present")
> Signed-off-by: Ian Rogers <[email protected]>
> ---
> tools/perf/tests/attr/base-stat | 2 +-
> tools/perf/tests/attr/test-stat-default | 80 ++++++++-----
> tools/perf/tests/attr/test-stat-detailed-1 | 95 +++++++++------
> tools/perf/tests/attr/test-stat-detailed-2 | 119 +++++++++++--------
> tools/perf/tests/attr/test-stat-detailed-3 | 127 ++++++++++++---------
> 5 files changed, 249 insertions(+), 174 deletions(-)
>
Reviewed-by: James Clark <[email protected]>
> diff --git a/tools/perf/tests/attr/base-stat b/tools/perf/tests/attr/base-stat
> index a21fb65bc012..fccd8ec4d1b0 100644
> --- a/tools/perf/tests/attr/base-stat
> +++ b/tools/perf/tests/attr/base-stat
> @@ -16,7 +16,7 @@ pinned=0
> exclusive=0
> exclude_user=0
> exclude_kernel=0|1
> -exclude_hv=0
> +exclude_hv=0|1
> exclude_idle=0
> mmap=0
> comm=0
> diff --git a/tools/perf/tests/attr/test-stat-default b/tools/perf/tests/attr/test-stat-default
> index d8ea6a88163f..a1e2da0a9a6d 100644
> --- a/tools/perf/tests/attr/test-stat-default
> +++ b/tools/perf/tests/attr/test-stat-default
> @@ -40,7 +40,6 @@ fd=6
> type=0
> config=7
> optional=1
> -
> # PERF_TYPE_HARDWARE / PERF_COUNT_HW_STALLED_CYCLES_BACKEND
> [event7:base-stat]
> fd=7
> @@ -89,79 +88,98 @@ enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> [event13:base-stat]
> fd=13
> group_fd=11
> type=4
> -config=33024
> +config=33280
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> [event14:base-stat]
> fd=14
> group_fd=11
> type=4
> -config=33280
> +config=33536
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> [event15:base-stat]
> fd=15
> group_fd=11
> type=4
> -config=33536
> +config=33024
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
> [event16:base-stat]
> fd=16
> -group_fd=11
> type=4
> -config=33792
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=4109
> optional=1
>
> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
> [event17:base-stat]
> fd=17
> -group_fd=11
> type=4
> -config=34048
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=17039629
> optional=1
>
> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
> [event18:base-stat]
> fd=18
> -group_fd=11
> type=4
> -config=34304
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=60
> optional=1
>
> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
> [event19:base-stat]
> fd=19
> -group_fd=11
> type=4
> -config=34560
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=2097421
> +optional=1
> +
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
> +[event20:base-stat]
> +fd=20
> +type=4
> +config=316
> +optional=1
> +
> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
> +[event21:base-stat]
> +fd=21
> +type=4
> +config=412
> +optional=1
> +
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
> +[event22:base-stat]
> +fd=22
> +type=4
> +config=572
> +optional=1
> +
> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
> +[event23:base-stat]
> +fd=23
> +type=4
> +config=706
> +optional=1
> +
> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
> +[event24:base-stat]
> +fd=24
> +type=4
> +config=270
> optional=1
> diff --git a/tools/perf/tests/attr/test-stat-detailed-1 b/tools/perf/tests/attr/test-stat-detailed-1
> index b656ab93c5bf..1c52cb05c900 100644
> --- a/tools/perf/tests/attr/test-stat-detailed-1
> +++ b/tools/perf/tests/attr/test-stat-detailed-1
> @@ -90,89 +90,108 @@ enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> [event13:base-stat]
> fd=13
> group_fd=11
> type=4
> -config=33024
> +config=33280
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> [event14:base-stat]
> fd=14
> group_fd=11
> type=4
> -config=33280
> +config=33536
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> [event15:base-stat]
> fd=15
> group_fd=11
> type=4
> -config=33536
> +config=33024
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
> [event16:base-stat]
> fd=16
> -group_fd=11
> type=4
> -config=33792
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=4109
> optional=1
>
> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
> [event17:base-stat]
> fd=17
> -group_fd=11
> type=4
> -config=34048
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=17039629
> optional=1
>
> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
> [event18:base-stat]
> fd=18
> -group_fd=11
> type=4
> -config=34304
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=60
> optional=1
>
> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
> [event19:base-stat]
> fd=19
> -group_fd=11
> type=4
> -config=34560
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=2097421
> +optional=1
> +
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
> +[event20:base-stat]
> +fd=20
> +type=4
> +config=316
> +optional=1
> +
> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
> +[event21:base-stat]
> +fd=21
> +type=4
> +config=412
> +optional=1
> +
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
> +[event22:base-stat]
> +fd=22
> +type=4
> +config=572
> +optional=1
> +
> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
> +[event23:base-stat]
> +fd=23
> +type=4
> +config=706
> +optional=1
> +
> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
> +[event24:base-stat]
> +fd=24
> +type=4
> +config=270
> optional=1
>
> # PERF_TYPE_HW_CACHE /
> # PERF_COUNT_HW_CACHE_L1D << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event20:base-stat]
> -fd=20
> +[event25:base-stat]
> +fd=25
> type=3
> config=0
> optional=1
> @@ -181,8 +200,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1D << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event21:base-stat]
> -fd=21
> +[event26:base-stat]
> +fd=26
> type=3
> config=65536
> optional=1
> @@ -191,8 +210,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_LL << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event22:base-stat]
> -fd=22
> +[event27:base-stat]
> +fd=27
> type=3
> config=2
> optional=1
> @@ -201,8 +220,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_LL << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event23:base-stat]
> -fd=23
> +[event28:base-stat]
> +fd=28
> type=3
> config=65538
> optional=1
> diff --git a/tools/perf/tests/attr/test-stat-detailed-2 b/tools/perf/tests/attr/test-stat-detailed-2
> index 97625090a1c4..7e961d24a885 100644
> --- a/tools/perf/tests/attr/test-stat-detailed-2
> +++ b/tools/perf/tests/attr/test-stat-detailed-2
> @@ -90,89 +90,108 @@ enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> [event13:base-stat]
> fd=13
> group_fd=11
> type=4
> -config=33024
> +config=33280
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> [event14:base-stat]
> fd=14
> group_fd=11
> type=4
> -config=33280
> +config=33536
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> [event15:base-stat]
> fd=15
> group_fd=11
> type=4
> -config=33536
> +config=33024
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
> [event16:base-stat]
> fd=16
> -group_fd=11
> type=4
> -config=33792
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=4109
> optional=1
>
> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
> [event17:base-stat]
> fd=17
> -group_fd=11
> type=4
> -config=34048
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=17039629
> optional=1
>
> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
> [event18:base-stat]
> fd=18
> -group_fd=11
> type=4
> -config=34304
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=60
> optional=1
>
> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
> [event19:base-stat]
> fd=19
> -group_fd=11
> type=4
> -config=34560
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=2097421
> +optional=1
> +
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
> +[event20:base-stat]
> +fd=20
> +type=4
> +config=316
> +optional=1
> +
> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
> +[event21:base-stat]
> +fd=21
> +type=4
> +config=412
> +optional=1
> +
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
> +[event22:base-stat]
> +fd=22
> +type=4
> +config=572
> +optional=1
> +
> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
> +[event23:base-stat]
> +fd=23
> +type=4
> +config=706
> +optional=1
> +
> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
> +[event24:base-stat]
> +fd=24
> +type=4
> +config=270
> optional=1
>
> # PERF_TYPE_HW_CACHE /
> # PERF_COUNT_HW_CACHE_L1D << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event20:base-stat]
> -fd=20
> +[event25:base-stat]
> +fd=25
> type=3
> config=0
> optional=1
> @@ -181,8 +200,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1D << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event21:base-stat]
> -fd=21
> +[event26:base-stat]
> +fd=26
> type=3
> config=65536
> optional=1
> @@ -191,8 +210,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_LL << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event22:base-stat]
> -fd=22
> +[event27:base-stat]
> +fd=27
> type=3
> config=2
> optional=1
> @@ -201,8 +220,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_LL << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event23:base-stat]
> -fd=23
> +[event28:base-stat]
> +fd=28
> type=3
> config=65538
> optional=1
> @@ -211,8 +230,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1I << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event24:base-stat]
> -fd=24
> +[event29:base-stat]
> +fd=29
> type=3
> config=1
> optional=1
> @@ -221,8 +240,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1I << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event25:base-stat]
> -fd=25
> +[event30:base-stat]
> +fd=30
> type=3
> config=65537
> optional=1
> @@ -231,8 +250,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_DTLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event26:base-stat]
> -fd=26
> +[event31:base-stat]
> +fd=31
> type=3
> config=3
> optional=1
> @@ -241,8 +260,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_DTLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event27:base-stat]
> -fd=27
> +[event32:base-stat]
> +fd=32
> type=3
> config=65539
> optional=1
> @@ -251,8 +270,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_ITLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event28:base-stat]
> -fd=28
> +[event33:base-stat]
> +fd=33
> type=3
> config=4
> optional=1
> @@ -261,8 +280,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_ITLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event29:base-stat]
> -fd=29
> +[event34:base-stat]
> +fd=34
> type=3
> config=65540
> optional=1
> diff --git a/tools/perf/tests/attr/test-stat-detailed-3 b/tools/perf/tests/attr/test-stat-detailed-3
> index d555042e3fbf..e50535f45977 100644
> --- a/tools/perf/tests/attr/test-stat-detailed-3
> +++ b/tools/perf/tests/attr/test-stat-detailed-3
> @@ -90,89 +90,108 @@ enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> [event13:base-stat]
> fd=13
> group_fd=11
> type=4
> -config=33024
> +config=33280
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> [event14:base-stat]
> fd=14
> group_fd=11
> type=4
> -config=33280
> +config=33536
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> [event15:base-stat]
> fd=15
> group_fd=11
> type=4
> -config=33536
> +config=33024
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
> [event16:base-stat]
> fd=16
> -group_fd=11
> type=4
> -config=33792
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=4109
> optional=1
>
> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
> [event17:base-stat]
> fd=17
> -group_fd=11
> type=4
> -config=34048
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=17039629
> optional=1
>
> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
> [event18:base-stat]
> fd=18
> -group_fd=11
> type=4
> -config=34304
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=60
> optional=1
>
> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
> [event19:base-stat]
> fd=19
> -group_fd=11
> type=4
> -config=34560
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=2097421
> +optional=1
> +
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
> +[event20:base-stat]
> +fd=20
> +type=4
> +config=316
> +optional=1
> +
> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
> +[event21:base-stat]
> +fd=21
> +type=4
> +config=412
> +optional=1
> +
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
> +[event22:base-stat]
> +fd=22
> +type=4
> +config=572
> +optional=1
> +
> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
> +[event23:base-stat]
> +fd=23
> +type=4
> +config=706
> +optional=1
> +
> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
> +[event24:base-stat]
> +fd=24
> +type=4
> +config=270
> optional=1
>
> # PERF_TYPE_HW_CACHE /
> # PERF_COUNT_HW_CACHE_L1D << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event20:base-stat]
> -fd=20
> +[event25:base-stat]
> +fd=25
> type=3
> config=0
> optional=1
> @@ -181,8 +200,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1D << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event21:base-stat]
> -fd=21
> +[event26:base-stat]
> +fd=26
> type=3
> config=65536
> optional=1
> @@ -191,8 +210,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_LL << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event22:base-stat]
> -fd=22
> +[event27:base-stat]
> +fd=27
> type=3
> config=2
> optional=1
> @@ -201,8 +220,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_LL << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event23:base-stat]
> -fd=23
> +[event28:base-stat]
> +fd=28
> type=3
> config=65538
> optional=1
> @@ -211,8 +230,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1I << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event24:base-stat]
> -fd=24
> +[event29:base-stat]
> +fd=29
> type=3
> config=1
> optional=1
> @@ -221,8 +240,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1I << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event25:base-stat]
> -fd=25
> +[event30:base-stat]
> +fd=30
> type=3
> config=65537
> optional=1
> @@ -231,8 +250,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_DTLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event26:base-stat]
> -fd=26
> +[event31:base-stat]
> +fd=31
> type=3
> config=3
> optional=1
> @@ -241,8 +260,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_DTLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event27:base-stat]
> -fd=27
> +[event32:base-stat]
> +fd=32
> type=3
> config=65539
> optional=1
> @@ -251,8 +270,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_ITLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event28:base-stat]
> -fd=28
> +[event33:base-stat]
> +fd=33
> type=3
> config=4
> optional=1
> @@ -261,8 +280,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_ITLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event29:base-stat]
> -fd=29
> +[event34:base-stat]
> +fd=34
> type=3
> config=65540
> optional=1
> @@ -271,8 +290,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1D << 0 |
> # (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event30:base-stat]
> -fd=30
> +[event35:base-stat]
> +fd=35
> type=3
> config=512
> optional=1
> @@ -281,8 +300,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1D << 0 |
> # (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event31:base-stat]
> -fd=31
> +[event36:base-stat]
> +fd=36
> type=3
> config=66048
> optional=1
Em Thu, May 18, 2023 at 08:50:14AM +0100, James Clark escreveu:
>
>
> On 17/05/2023 23:57, Ian Rogers wrote:
> > Previously hard coded events/metrics were used, update for the use of
> > the TopdownL1 json metric group.
> >
> > Fixes: 94b1a603fca7 ("perf stat: Add TopdownL1 metric as a default if present")
> > Signed-off-by: Ian Rogers <[email protected]>
> > ---
> > tools/perf/tests/attr/base-stat | 2 +-
> > tools/perf/tests/attr/test-stat-default | 80 ++++++++-----
> > tools/perf/tests/attr/test-stat-detailed-1 | 95 +++++++++------
> > tools/perf/tests/attr/test-stat-detailed-2 | 119 +++++++++++--------
> > tools/perf/tests/attr/test-stat-detailed-3 | 127 ++++++++++++---------
> > 5 files changed, 249 insertions(+), 174 deletions(-)
> >
>
> Reviewed-by: James Clark <[email protected]>
Thanks, applied both patches to perf-tools.
- Arnaldo
> > diff --git a/tools/perf/tests/attr/base-stat b/tools/perf/tests/attr/base-stat
> > index a21fb65bc012..fccd8ec4d1b0 100644
> > --- a/tools/perf/tests/attr/base-stat
> > +++ b/tools/perf/tests/attr/base-stat
> > @@ -16,7 +16,7 @@ pinned=0
> > exclusive=0
> > exclude_user=0
> > exclude_kernel=0|1
> > -exclude_hv=0
> > +exclude_hv=0|1
> > exclude_idle=0
> > mmap=0
> > comm=0
> > diff --git a/tools/perf/tests/attr/test-stat-default b/tools/perf/tests/attr/test-stat-default
> > index d8ea6a88163f..a1e2da0a9a6d 100644
> > --- a/tools/perf/tests/attr/test-stat-default
> > +++ b/tools/perf/tests/attr/test-stat-default
> > @@ -40,7 +40,6 @@ fd=6
> > type=0
> > config=7
> > optional=1
> > -
> > # PERF_TYPE_HARDWARE / PERF_COUNT_HW_STALLED_CYCLES_BACKEND
> > [event7:base-stat]
> > fd=7
> > @@ -89,79 +88,98 @@ enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> > +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> > [event13:base-stat]
> > fd=13
> > group_fd=11
> > type=4
> > -config=33024
> > +config=33280
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> > +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> > [event14:base-stat]
> > fd=14
> > group_fd=11
> > type=4
> > -config=33280
> > +config=33536
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> > +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> > [event15:base-stat]
> > fd=15
> > group_fd=11
> > type=4
> > -config=33536
> > +config=33024
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> > +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
> > [event16:base-stat]
> > fd=16
> > -group_fd=11
> > type=4
> > -config=33792
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=4109
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> > +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
> > [event17:base-stat]
> > fd=17
> > -group_fd=11
> > type=4
> > -config=34048
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=17039629
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
> > [event18:base-stat]
> > fd=18
> > -group_fd=11
> > type=4
> > -config=34304
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=60
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> > +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
> > [event19:base-stat]
> > fd=19
> > -group_fd=11
> > type=4
> > -config=34560
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=2097421
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
> > +[event20:base-stat]
> > +fd=20
> > +type=4
> > +config=316
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
> > +[event21:base-stat]
> > +fd=21
> > +type=4
> > +config=412
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
> > +[event22:base-stat]
> > +fd=22
> > +type=4
> > +config=572
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
> > +[event23:base-stat]
> > +fd=23
> > +type=4
> > +config=706
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
> > +[event24:base-stat]
> > +fd=24
> > +type=4
> > +config=270
> > optional=1
> > diff --git a/tools/perf/tests/attr/test-stat-detailed-1 b/tools/perf/tests/attr/test-stat-detailed-1
> > index b656ab93c5bf..1c52cb05c900 100644
> > --- a/tools/perf/tests/attr/test-stat-detailed-1
> > +++ b/tools/perf/tests/attr/test-stat-detailed-1
> > @@ -90,89 +90,108 @@ enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> > +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> > [event13:base-stat]
> > fd=13
> > group_fd=11
> > type=4
> > -config=33024
> > +config=33280
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> > +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> > [event14:base-stat]
> > fd=14
> > group_fd=11
> > type=4
> > -config=33280
> > +config=33536
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> > +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> > [event15:base-stat]
> > fd=15
> > group_fd=11
> > type=4
> > -config=33536
> > +config=33024
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> > +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
> > [event16:base-stat]
> > fd=16
> > -group_fd=11
> > type=4
> > -config=33792
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=4109
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> > +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
> > [event17:base-stat]
> > fd=17
> > -group_fd=11
> > type=4
> > -config=34048
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=17039629
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
> > [event18:base-stat]
> > fd=18
> > -group_fd=11
> > type=4
> > -config=34304
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=60
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> > +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
> > [event19:base-stat]
> > fd=19
> > -group_fd=11
> > type=4
> > -config=34560
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=2097421
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
> > +[event20:base-stat]
> > +fd=20
> > +type=4
> > +config=316
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
> > +[event21:base-stat]
> > +fd=21
> > +type=4
> > +config=412
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
> > +[event22:base-stat]
> > +fd=22
> > +type=4
> > +config=572
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
> > +[event23:base-stat]
> > +fd=23
> > +type=4
> > +config=706
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
> > +[event24:base-stat]
> > +fd=24
> > +type=4
> > +config=270
> > optional=1
> >
> > # PERF_TYPE_HW_CACHE /
> > # PERF_COUNT_HW_CACHE_L1D << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event20:base-stat]
> > -fd=20
> > +[event25:base-stat]
> > +fd=25
> > type=3
> > config=0
> > optional=1
> > @@ -181,8 +200,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_L1D << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event21:base-stat]
> > -fd=21
> > +[event26:base-stat]
> > +fd=26
> > type=3
> > config=65536
> > optional=1
> > @@ -191,8 +210,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_LL << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event22:base-stat]
> > -fd=22
> > +[event27:base-stat]
> > +fd=27
> > type=3
> > config=2
> > optional=1
> > @@ -201,8 +220,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_LL << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event23:base-stat]
> > -fd=23
> > +[event28:base-stat]
> > +fd=28
> > type=3
> > config=65538
> > optional=1
> > diff --git a/tools/perf/tests/attr/test-stat-detailed-2 b/tools/perf/tests/attr/test-stat-detailed-2
> > index 97625090a1c4..7e961d24a885 100644
> > --- a/tools/perf/tests/attr/test-stat-detailed-2
> > +++ b/tools/perf/tests/attr/test-stat-detailed-2
> > @@ -90,89 +90,108 @@ enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> > +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> > [event13:base-stat]
> > fd=13
> > group_fd=11
> > type=4
> > -config=33024
> > +config=33280
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> > +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> > [event14:base-stat]
> > fd=14
> > group_fd=11
> > type=4
> > -config=33280
> > +config=33536
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> > +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> > [event15:base-stat]
> > fd=15
> > group_fd=11
> > type=4
> > -config=33536
> > +config=33024
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> > +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
> > [event16:base-stat]
> > fd=16
> > -group_fd=11
> > type=4
> > -config=33792
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=4109
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> > +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
> > [event17:base-stat]
> > fd=17
> > -group_fd=11
> > type=4
> > -config=34048
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=17039629
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
> > [event18:base-stat]
> > fd=18
> > -group_fd=11
> > type=4
> > -config=34304
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=60
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> > +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
> > [event19:base-stat]
> > fd=19
> > -group_fd=11
> > type=4
> > -config=34560
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=2097421
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
> > +[event20:base-stat]
> > +fd=20
> > +type=4
> > +config=316
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
> > +[event21:base-stat]
> > +fd=21
> > +type=4
> > +config=412
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
> > +[event22:base-stat]
> > +fd=22
> > +type=4
> > +config=572
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
> > +[event23:base-stat]
> > +fd=23
> > +type=4
> > +config=706
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
> > +[event24:base-stat]
> > +fd=24
> > +type=4
> > +config=270
> > optional=1
> >
> > # PERF_TYPE_HW_CACHE /
> > # PERF_COUNT_HW_CACHE_L1D << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event20:base-stat]
> > -fd=20
> > +[event25:base-stat]
> > +fd=25
> > type=3
> > config=0
> > optional=1
> > @@ -181,8 +200,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_L1D << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event21:base-stat]
> > -fd=21
> > +[event26:base-stat]
> > +fd=26
> > type=3
> > config=65536
> > optional=1
> > @@ -191,8 +210,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_LL << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event22:base-stat]
> > -fd=22
> > +[event27:base-stat]
> > +fd=27
> > type=3
> > config=2
> > optional=1
> > @@ -201,8 +220,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_LL << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event23:base-stat]
> > -fd=23
> > +[event28:base-stat]
> > +fd=28
> > type=3
> > config=65538
> > optional=1
> > @@ -211,8 +230,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_L1I << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event24:base-stat]
> > -fd=24
> > +[event29:base-stat]
> > +fd=29
> > type=3
> > config=1
> > optional=1
> > @@ -221,8 +240,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_L1I << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event25:base-stat]
> > -fd=25
> > +[event30:base-stat]
> > +fd=30
> > type=3
> > config=65537
> > optional=1
> > @@ -231,8 +250,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_DTLB << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event26:base-stat]
> > -fd=26
> > +[event31:base-stat]
> > +fd=31
> > type=3
> > config=3
> > optional=1
> > @@ -241,8 +260,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_DTLB << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event27:base-stat]
> > -fd=27
> > +[event32:base-stat]
> > +fd=32
> > type=3
> > config=65539
> > optional=1
> > @@ -251,8 +270,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_ITLB << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event28:base-stat]
> > -fd=28
> > +[event33:base-stat]
> > +fd=33
> > type=3
> > config=4
> > optional=1
> > @@ -261,8 +280,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_ITLB << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event29:base-stat]
> > -fd=29
> > +[event34:base-stat]
> > +fd=34
> > type=3
> > config=65540
> > optional=1
> > diff --git a/tools/perf/tests/attr/test-stat-detailed-3 b/tools/perf/tests/attr/test-stat-detailed-3
> > index d555042e3fbf..e50535f45977 100644
> > --- a/tools/perf/tests/attr/test-stat-detailed-3
> > +++ b/tools/perf/tests/attr/test-stat-detailed-3
> > @@ -90,89 +90,108 @@ enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> > +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> > [event13:base-stat]
> > fd=13
> > group_fd=11
> > type=4
> > -config=33024
> > +config=33280
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> > +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> > [event14:base-stat]
> > fd=14
> > group_fd=11
> > type=4
> > -config=33280
> > +config=33536
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> > +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> > [event15:base-stat]
> > fd=15
> > group_fd=11
> > type=4
> > -config=33536
> > +config=33024
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> > +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
> > [event16:base-stat]
> > fd=16
> > -group_fd=11
> > type=4
> > -config=33792
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=4109
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> > +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
> > [event17:base-stat]
> > fd=17
> > -group_fd=11
> > type=4
> > -config=34048
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=17039629
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
> > [event18:base-stat]
> > fd=18
> > -group_fd=11
> > type=4
> > -config=34304
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=60
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> > +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
> > [event19:base-stat]
> > fd=19
> > -group_fd=11
> > type=4
> > -config=34560
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=2097421
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
> > +[event20:base-stat]
> > +fd=20
> > +type=4
> > +config=316
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
> > +[event21:base-stat]
> > +fd=21
> > +type=4
> > +config=412
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
> > +[event22:base-stat]
> > +fd=22
> > +type=4
> > +config=572
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
> > +[event23:base-stat]
> > +fd=23
> > +type=4
> > +config=706
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
> > +[event24:base-stat]
> > +fd=24
> > +type=4
> > +config=270
> > optional=1
> >
> > # PERF_TYPE_HW_CACHE /
> > # PERF_COUNT_HW_CACHE_L1D << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event20:base-stat]
> > -fd=20
> > +[event25:base-stat]
> > +fd=25
> > type=3
> > config=0
> > optional=1
> > @@ -181,8 +200,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_L1D << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event21:base-stat]
> > -fd=21
> > +[event26:base-stat]
> > +fd=26
> > type=3
> > config=65536
> > optional=1
> > @@ -191,8 +210,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_LL << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event22:base-stat]
> > -fd=22
> > +[event27:base-stat]
> > +fd=27
> > type=3
> > config=2
> > optional=1
> > @@ -201,8 +220,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_LL << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event23:base-stat]
> > -fd=23
> > +[event28:base-stat]
> > +fd=28
> > type=3
> > config=65538
> > optional=1
> > @@ -211,8 +230,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_L1I << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event24:base-stat]
> > -fd=24
> > +[event29:base-stat]
> > +fd=29
> > type=3
> > config=1
> > optional=1
> > @@ -221,8 +240,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_L1I << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event25:base-stat]
> > -fd=25
> > +[event30:base-stat]
> > +fd=30
> > type=3
> > config=65537
> > optional=1
> > @@ -231,8 +250,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_DTLB << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event26:base-stat]
> > -fd=26
> > +[event31:base-stat]
> > +fd=31
> > type=3
> > config=3
> > optional=1
> > @@ -241,8 +260,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_DTLB << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event27:base-stat]
> > -fd=27
> > +[event32:base-stat]
> > +fd=32
> > type=3
> > config=65539
> > optional=1
> > @@ -251,8 +270,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_ITLB << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event28:base-stat]
> > -fd=28
> > +[event33:base-stat]
> > +fd=33
> > type=3
> > config=4
> > optional=1
> > @@ -261,8 +280,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_ITLB << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event29:base-stat]
> > -fd=29
> > +[event34:base-stat]
> > +fd=34
> > type=3
> > config=65540
> > optional=1
> > @@ -271,8 +290,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_L1D << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event30:base-stat]
> > -fd=30
> > +[event35:base-stat]
> > +fd=35
> > type=3
> > config=512
> > optional=1
> > @@ -281,8 +300,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_L1D << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event31:base-stat]
> > -fd=31
> > +[event36:base-stat]
> > +fd=36
> > type=3
> > config=66048
> > optional=1
--
- Arnaldo
On 2023-05-17 6:57 p.m., Ian Rogers wrote:
> Previously hard coded events/metrics were used, update for the use of
> the TopdownL1 json metric group.
>
> Fixes: 94b1a603fca7 ("perf stat: Add TopdownL1 metric as a default if present")
> Signed-off-by: Ian Rogers <[email protected]>
> ---
> tools/perf/tests/attr/base-stat | 2 +-
> tools/perf/tests/attr/test-stat-default | 80 ++++++++-----
> tools/perf/tests/attr/test-stat-detailed-1 | 95 +++++++++------
> tools/perf/tests/attr/test-stat-detailed-2 | 119 +++++++++++--------
> tools/perf/tests/attr/test-stat-detailed-3 | 127 ++++++++++++---------
> 5 files changed, 249 insertions(+), 174 deletions(-)
>
> diff --git a/tools/perf/tests/attr/base-stat b/tools/perf/tests/attr/base-stat
> index a21fb65bc012..fccd8ec4d1b0 100644
> --- a/tools/perf/tests/attr/base-stat
> +++ b/tools/perf/tests/attr/base-stat
> @@ -16,7 +16,7 @@ pinned=0
> exclusive=0
> exclude_user=0
> exclude_kernel=0|1
> -exclude_hv=0
> +exclude_hv=0|1
> exclude_idle=0
> mmap=0
> comm=0
> diff --git a/tools/perf/tests/attr/test-stat-default b/tools/perf/tests/attr/test-stat-default
> index d8ea6a88163f..a1e2da0a9a6d 100644
> --- a/tools/perf/tests/attr/test-stat-default
> +++ b/tools/perf/tests/attr/test-stat-default
> @@ -40,7 +40,6 @@ fd=6
> type=0
> config=7
> optional=1
> -
> # PERF_TYPE_HARDWARE / PERF_COUNT_HW_STALLED_CYCLES_BACKEND
> [event7:base-stat]
> fd=7
> @@ -89,79 +88,98 @@ enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> [event13:base-stat]
> fd=13
> group_fd=11
> type=4
> -config=33024
> +config=33280
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> [event14:base-stat]
> fd=14
> group_fd=11
> type=4
> -config=33280
> +config=33536
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> [event15:base-stat]
> fd=15
> group_fd=11
> type=4
> -config=33536
> +config=33024
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
> [event16:base-stat]
> fd=16
> -group_fd=11
> type=4
> -config=33792
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=4109
> optional=1
>
> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
> [event17:base-stat]
> fd=17
> -group_fd=11
> type=4
> -config=34048
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=17039629
> optional=1
>
> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
> [event18:base-stat]
> fd=18
> -group_fd=11
> type=4
> -config=34304
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=60
> optional=1
>
> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
> [event19:base-stat]
> fd=19
> -group_fd=11
> type=4
> -config=34560
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=2097421
> +optional=1
> +
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
> +[event20:base-stat]
> +fd=20
> +type=4
> +config=316
> +optional=1
> +
> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
> +[event21:base-stat]
> +fd=21
> +type=4
> +config=412
> +optional=1
> +
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
> +[event22:base-stat]
> +fd=22
> +type=4
> +config=572
> +optional=1
> +
> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
Most of the newly added events are non-architectural events. The event
name and the encoding could be changed later. I don't think it's a good
idea to hard code them in the test. Could we read the TopdownL1 metrics,
get a event list at runtime, and then only test those events?
Thanks,
Kan
> +[event23:base-stat]
> +fd=23
> +type=4
> +config=706
> +optional=1
> +
> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
> +[event24:base-stat]
> +fd=24
> +type=4
> +config=270
> optional=1
> diff --git a/tools/perf/tests/attr/test-stat-detailed-1 b/tools/perf/tests/attr/test-stat-detailed-1
> index b656ab93c5bf..1c52cb05c900 100644
> --- a/tools/perf/tests/attr/test-stat-detailed-1
> +++ b/tools/perf/tests/attr/test-stat-detailed-1
> @@ -90,89 +90,108 @@ enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> [event13:base-stat]
> fd=13
> group_fd=11
> type=4
> -config=33024
> +config=33280
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> [event14:base-stat]
> fd=14
> group_fd=11
> type=4
> -config=33280
> +config=33536
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> [event15:base-stat]
> fd=15
> group_fd=11
> type=4
> -config=33536
> +config=33024
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
> [event16:base-stat]
> fd=16
> -group_fd=11
> type=4
> -config=33792
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=4109
> optional=1
>
> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
> [event17:base-stat]
> fd=17
> -group_fd=11
> type=4
> -config=34048
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=17039629
> optional=1
>
> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
> [event18:base-stat]
> fd=18
> -group_fd=11
> type=4
> -config=34304
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=60
> optional=1
>
> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
> [event19:base-stat]
> fd=19
> -group_fd=11
> type=4
> -config=34560
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=2097421
> +optional=1
> +
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
> +[event20:base-stat]
> +fd=20
> +type=4
> +config=316
> +optional=1
> +
> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
> +[event21:base-stat]
> +fd=21
> +type=4
> +config=412
> +optional=1
> +
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
> +[event22:base-stat]
> +fd=22
> +type=4
> +config=572
> +optional=1
> +
> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
> +[event23:base-stat]
> +fd=23
> +type=4
> +config=706
> +optional=1
> +
> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
> +[event24:base-stat]
> +fd=24
> +type=4
> +config=270
> optional=1
>
> # PERF_TYPE_HW_CACHE /
> # PERF_COUNT_HW_CACHE_L1D << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event20:base-stat]
> -fd=20
> +[event25:base-stat]
> +fd=25
> type=3
> config=0
> optional=1
> @@ -181,8 +200,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1D << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event21:base-stat]
> -fd=21
> +[event26:base-stat]
> +fd=26
> type=3
> config=65536
> optional=1
> @@ -191,8 +210,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_LL << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event22:base-stat]
> -fd=22
> +[event27:base-stat]
> +fd=27
> type=3
> config=2
> optional=1
> @@ -201,8 +220,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_LL << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event23:base-stat]
> -fd=23
> +[event28:base-stat]
> +fd=28
> type=3
> config=65538
> optional=1
> diff --git a/tools/perf/tests/attr/test-stat-detailed-2 b/tools/perf/tests/attr/test-stat-detailed-2
> index 97625090a1c4..7e961d24a885 100644
> --- a/tools/perf/tests/attr/test-stat-detailed-2
> +++ b/tools/perf/tests/attr/test-stat-detailed-2
> @@ -90,89 +90,108 @@ enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> [event13:base-stat]
> fd=13
> group_fd=11
> type=4
> -config=33024
> +config=33280
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> [event14:base-stat]
> fd=14
> group_fd=11
> type=4
> -config=33280
> +config=33536
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> [event15:base-stat]
> fd=15
> group_fd=11
> type=4
> -config=33536
> +config=33024
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
> [event16:base-stat]
> fd=16
> -group_fd=11
> type=4
> -config=33792
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=4109
> optional=1
>
> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
> [event17:base-stat]
> fd=17
> -group_fd=11
> type=4
> -config=34048
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=17039629
> optional=1
>
> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
> [event18:base-stat]
> fd=18
> -group_fd=11
> type=4
> -config=34304
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=60
> optional=1
>
> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
> [event19:base-stat]
> fd=19
> -group_fd=11
> type=4
> -config=34560
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=2097421
> +optional=1
> +
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
> +[event20:base-stat]
> +fd=20
> +type=4
> +config=316
> +optional=1
> +
> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
> +[event21:base-stat]
> +fd=21
> +type=4
> +config=412
> +optional=1
> +
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
> +[event22:base-stat]
> +fd=22
> +type=4
> +config=572
> +optional=1
> +
> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
> +[event23:base-stat]
> +fd=23
> +type=4
> +config=706
> +optional=1
> +
> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
> +[event24:base-stat]
> +fd=24
> +type=4
> +config=270
> optional=1
>
> # PERF_TYPE_HW_CACHE /
> # PERF_COUNT_HW_CACHE_L1D << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event20:base-stat]
> -fd=20
> +[event25:base-stat]
> +fd=25
> type=3
> config=0
> optional=1
> @@ -181,8 +200,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1D << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event21:base-stat]
> -fd=21
> +[event26:base-stat]
> +fd=26
> type=3
> config=65536
> optional=1
> @@ -191,8 +210,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_LL << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event22:base-stat]
> -fd=22
> +[event27:base-stat]
> +fd=27
> type=3
> config=2
> optional=1
> @@ -201,8 +220,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_LL << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event23:base-stat]
> -fd=23
> +[event28:base-stat]
> +fd=28
> type=3
> config=65538
> optional=1
> @@ -211,8 +230,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1I << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event24:base-stat]
> -fd=24
> +[event29:base-stat]
> +fd=29
> type=3
> config=1
> optional=1
> @@ -221,8 +240,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1I << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event25:base-stat]
> -fd=25
> +[event30:base-stat]
> +fd=30
> type=3
> config=65537
> optional=1
> @@ -231,8 +250,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_DTLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event26:base-stat]
> -fd=26
> +[event31:base-stat]
> +fd=31
> type=3
> config=3
> optional=1
> @@ -241,8 +260,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_DTLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event27:base-stat]
> -fd=27
> +[event32:base-stat]
> +fd=32
> type=3
> config=65539
> optional=1
> @@ -251,8 +270,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_ITLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event28:base-stat]
> -fd=28
> +[event33:base-stat]
> +fd=33
> type=3
> config=4
> optional=1
> @@ -261,8 +280,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_ITLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event29:base-stat]
> -fd=29
> +[event34:base-stat]
> +fd=34
> type=3
> config=65540
> optional=1
> diff --git a/tools/perf/tests/attr/test-stat-detailed-3 b/tools/perf/tests/attr/test-stat-detailed-3
> index d555042e3fbf..e50535f45977 100644
> --- a/tools/perf/tests/attr/test-stat-detailed-3
> +++ b/tools/perf/tests/attr/test-stat-detailed-3
> @@ -90,89 +90,108 @@ enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> [event13:base-stat]
> fd=13
> group_fd=11
> type=4
> -config=33024
> +config=33280
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> [event14:base-stat]
> fd=14
> group_fd=11
> type=4
> -config=33280
> +config=33536
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> [event15:base-stat]
> fd=15
> group_fd=11
> type=4
> -config=33536
> +config=33024
> disabled=0
> enable_on_exec=0
> read_format=15
> optional=1
>
> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
> [event16:base-stat]
> fd=16
> -group_fd=11
> type=4
> -config=33792
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=4109
> optional=1
>
> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
> [event17:base-stat]
> fd=17
> -group_fd=11
> type=4
> -config=34048
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=17039629
> optional=1
>
> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
> [event18:base-stat]
> fd=18
> -group_fd=11
> type=4
> -config=34304
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=60
> optional=1
>
> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
> [event19:base-stat]
> fd=19
> -group_fd=11
> type=4
> -config=34560
> -disabled=0
> -enable_on_exec=0
> -read_format=15
> +config=2097421
> +optional=1
> +
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
> +[event20:base-stat]
> +fd=20
> +type=4
> +config=316
> +optional=1
> +
> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
> +[event21:base-stat]
> +fd=21
> +type=4
> +config=412
> +optional=1
> +
> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
> +[event22:base-stat]
> +fd=22
> +type=4
> +config=572
> +optional=1
> +
> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
> +[event23:base-stat]
> +fd=23
> +type=4
> +config=706
> +optional=1
> +
> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
> +[event24:base-stat]
> +fd=24
> +type=4
> +config=270
> optional=1
>
> # PERF_TYPE_HW_CACHE /
> # PERF_COUNT_HW_CACHE_L1D << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event20:base-stat]
> -fd=20
> +[event25:base-stat]
> +fd=25
> type=3
> config=0
> optional=1
> @@ -181,8 +200,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1D << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event21:base-stat]
> -fd=21
> +[event26:base-stat]
> +fd=26
> type=3
> config=65536
> optional=1
> @@ -191,8 +210,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_LL << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event22:base-stat]
> -fd=22
> +[event27:base-stat]
> +fd=27
> type=3
> config=2
> optional=1
> @@ -201,8 +220,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_LL << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event23:base-stat]
> -fd=23
> +[event28:base-stat]
> +fd=28
> type=3
> config=65538
> optional=1
> @@ -211,8 +230,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1I << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event24:base-stat]
> -fd=24
> +[event29:base-stat]
> +fd=29
> type=3
> config=1
> optional=1
> @@ -221,8 +240,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1I << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event25:base-stat]
> -fd=25
> +[event30:base-stat]
> +fd=30
> type=3
> config=65537
> optional=1
> @@ -231,8 +250,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_DTLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event26:base-stat]
> -fd=26
> +[event31:base-stat]
> +fd=31
> type=3
> config=3
> optional=1
> @@ -241,8 +260,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_DTLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event27:base-stat]
> -fd=27
> +[event32:base-stat]
> +fd=32
> type=3
> config=65539
> optional=1
> @@ -251,8 +270,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_ITLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event28:base-stat]
> -fd=28
> +[event33:base-stat]
> +fd=33
> type=3
> config=4
> optional=1
> @@ -261,8 +280,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_ITLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event29:base-stat]
> -fd=29
> +[event34:base-stat]
> +fd=34
> type=3
> config=65540
> optional=1
> @@ -271,8 +290,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1D << 0 |
> # (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event30:base-stat]
> -fd=30
> +[event35:base-stat]
> +fd=35
> type=3
> config=512
> optional=1
> @@ -281,8 +300,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1D << 0 |
> # (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event31:base-stat]
> -fd=31
> +[event36:base-stat]
> +fd=36
> type=3
> config=66048
> optional=1
Hi Arnaldo,
On 2023-05-18 8:20 a.m., Arnaldo Carvalho de Melo wrote:
> Em Thu, May 18, 2023 at 08:50:14AM +0100, James Clark escreveu:
>>
>>
>> On 17/05/2023 23:57, Ian Rogers wrote:
>>> Previously hard coded events/metrics were used, update for the use of
>>> the TopdownL1 json metric group.
>>>
>>> Fixes: 94b1a603fca7 ("perf stat: Add TopdownL1 metric as a default if present")
>>> Signed-off-by: Ian Rogers <[email protected]>
>>> ---
>>> tools/perf/tests/attr/base-stat | 2 +-
>>> tools/perf/tests/attr/test-stat-default | 80 ++++++++-----
>>> tools/perf/tests/attr/test-stat-detailed-1 | 95 +++++++++------
>>> tools/perf/tests/attr/test-stat-detailed-2 | 119 +++++++++++--------
>>> tools/perf/tests/attr/test-stat-detailed-3 | 127 ++++++++++++---------
>>> 5 files changed, 249 insertions(+), 174 deletions(-)
>>>
>>
>> Reviewed-by: James Clark <[email protected]>
>
> Thanks, applied both patches to perf-tools.
>
Could you please hold patch 1 for a while?
The formula of TopdownL1 may be changed generation by generation on
Intel platforms. Some of events in the current TopdownL1 formula, e.g.,
INT_MISC.UOP_DROPPING, (Which are harded code in this patch), are not
architectural events. It means that they may be changed in the future
platforms as well.
Hard code the current TopdownL1 formual and the non-architectural events
don't seems a proper fix for the generic perf test case. We have to
update the test case for each generation when the formula is changed.
Thanks,
Kan
> - Arnaldo
>
>
>>> diff --git a/tools/perf/tests/attr/base-stat b/tools/perf/tests/attr/base-stat
>>> index a21fb65bc012..fccd8ec4d1b0 100644
>>> --- a/tools/perf/tests/attr/base-stat
>>> +++ b/tools/perf/tests/attr/base-stat
>>> @@ -16,7 +16,7 @@ pinned=0
>>> exclusive=0
>>> exclude_user=0
>>> exclude_kernel=0|1
>>> -exclude_hv=0
>>> +exclude_hv=0|1
>>> exclude_idle=0
>>> mmap=0
>>> comm=0
>>> diff --git a/tools/perf/tests/attr/test-stat-default b/tools/perf/tests/attr/test-stat-default
>>> index d8ea6a88163f..a1e2da0a9a6d 100644
>>> --- a/tools/perf/tests/attr/test-stat-default
>>> +++ b/tools/perf/tests/attr/test-stat-default
>>> @@ -40,7 +40,6 @@ fd=6
>>> type=0
>>> config=7
>>> optional=1
>>> -
>>> # PERF_TYPE_HARDWARE / PERF_COUNT_HW_STALLED_CYCLES_BACKEND
>>> [event7:base-stat]
>>> fd=7
>>> @@ -89,79 +88,98 @@ enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>> [event13:base-stat]
>>> fd=13
>>> group_fd=11
>>> type=4
>>> -config=33024
>>> +config=33280
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>> [event14:base-stat]
>>> fd=14
>>> group_fd=11
>>> type=4
>>> -config=33280
>>> +config=33536
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>> [event15:base-stat]
>>> fd=15
>>> group_fd=11
>>> type=4
>>> -config=33536
>>> +config=33024
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
>>> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
>>> [event16:base-stat]
>>> fd=16
>>> -group_fd=11
>>> type=4
>>> -config=33792
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=4109
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
>>> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
>>> [event17:base-stat]
>>> fd=17
>>> -group_fd=11
>>> type=4
>>> -config=34048
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=17039629
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
>>> [event18:base-stat]
>>> fd=18
>>> -group_fd=11
>>> type=4
>>> -config=34304
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=60
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
>>> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
>>> [event19:base-stat]
>>> fd=19
>>> -group_fd=11
>>> type=4
>>> -config=34560
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=2097421
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
>>> +[event20:base-stat]
>>> +fd=20
>>> +type=4
>>> +config=316
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
>>> +[event21:base-stat]
>>> +fd=21
>>> +type=4
>>> +config=412
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
>>> +[event22:base-stat]
>>> +fd=22
>>> +type=4
>>> +config=572
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
>>> +[event23:base-stat]
>>> +fd=23
>>> +type=4
>>> +config=706
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
>>> +[event24:base-stat]
>>> +fd=24
>>> +type=4
>>> +config=270
>>> optional=1
>>> diff --git a/tools/perf/tests/attr/test-stat-detailed-1 b/tools/perf/tests/attr/test-stat-detailed-1
>>> index b656ab93c5bf..1c52cb05c900 100644
>>> --- a/tools/perf/tests/attr/test-stat-detailed-1
>>> +++ b/tools/perf/tests/attr/test-stat-detailed-1
>>> @@ -90,89 +90,108 @@ enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>> [event13:base-stat]
>>> fd=13
>>> group_fd=11
>>> type=4
>>> -config=33024
>>> +config=33280
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>> [event14:base-stat]
>>> fd=14
>>> group_fd=11
>>> type=4
>>> -config=33280
>>> +config=33536
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>> [event15:base-stat]
>>> fd=15
>>> group_fd=11
>>> type=4
>>> -config=33536
>>> +config=33024
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
>>> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
>>> [event16:base-stat]
>>> fd=16
>>> -group_fd=11
>>> type=4
>>> -config=33792
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=4109
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
>>> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
>>> [event17:base-stat]
>>> fd=17
>>> -group_fd=11
>>> type=4
>>> -config=34048
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=17039629
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
>>> [event18:base-stat]
>>> fd=18
>>> -group_fd=11
>>> type=4
>>> -config=34304
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=60
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
>>> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
>>> [event19:base-stat]
>>> fd=19
>>> -group_fd=11
>>> type=4
>>> -config=34560
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=2097421
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
>>> +[event20:base-stat]
>>> +fd=20
>>> +type=4
>>> +config=316
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
>>> +[event21:base-stat]
>>> +fd=21
>>> +type=4
>>> +config=412
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
>>> +[event22:base-stat]
>>> +fd=22
>>> +type=4
>>> +config=572
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
>>> +[event23:base-stat]
>>> +fd=23
>>> +type=4
>>> +config=706
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
>>> +[event24:base-stat]
>>> +fd=24
>>> +type=4
>>> +config=270
>>> optional=1
>>>
>>> # PERF_TYPE_HW_CACHE /
>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event20:base-stat]
>>> -fd=20
>>> +[event25:base-stat]
>>> +fd=25
>>> type=3
>>> config=0
>>> optional=1
>>> @@ -181,8 +200,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event21:base-stat]
>>> -fd=21
>>> +[event26:base-stat]
>>> +fd=26
>>> type=3
>>> config=65536
>>> optional=1
>>> @@ -191,8 +210,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_LL << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event22:base-stat]
>>> -fd=22
>>> +[event27:base-stat]
>>> +fd=27
>>> type=3
>>> config=2
>>> optional=1
>>> @@ -201,8 +220,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_LL << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event23:base-stat]
>>> -fd=23
>>> +[event28:base-stat]
>>> +fd=28
>>> type=3
>>> config=65538
>>> optional=1
>>> diff --git a/tools/perf/tests/attr/test-stat-detailed-2 b/tools/perf/tests/attr/test-stat-detailed-2
>>> index 97625090a1c4..7e961d24a885 100644
>>> --- a/tools/perf/tests/attr/test-stat-detailed-2
>>> +++ b/tools/perf/tests/attr/test-stat-detailed-2
>>> @@ -90,89 +90,108 @@ enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>> [event13:base-stat]
>>> fd=13
>>> group_fd=11
>>> type=4
>>> -config=33024
>>> +config=33280
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>> [event14:base-stat]
>>> fd=14
>>> group_fd=11
>>> type=4
>>> -config=33280
>>> +config=33536
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>> [event15:base-stat]
>>> fd=15
>>> group_fd=11
>>> type=4
>>> -config=33536
>>> +config=33024
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
>>> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
>>> [event16:base-stat]
>>> fd=16
>>> -group_fd=11
>>> type=4
>>> -config=33792
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=4109
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
>>> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
>>> [event17:base-stat]
>>> fd=17
>>> -group_fd=11
>>> type=4
>>> -config=34048
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=17039629
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
>>> [event18:base-stat]
>>> fd=18
>>> -group_fd=11
>>> type=4
>>> -config=34304
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=60
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
>>> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
>>> [event19:base-stat]
>>> fd=19
>>> -group_fd=11
>>> type=4
>>> -config=34560
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=2097421
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
>>> +[event20:base-stat]
>>> +fd=20
>>> +type=4
>>> +config=316
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
>>> +[event21:base-stat]
>>> +fd=21
>>> +type=4
>>> +config=412
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
>>> +[event22:base-stat]
>>> +fd=22
>>> +type=4
>>> +config=572
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
>>> +[event23:base-stat]
>>> +fd=23
>>> +type=4
>>> +config=706
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
>>> +[event24:base-stat]
>>> +fd=24
>>> +type=4
>>> +config=270
>>> optional=1
>>>
>>> # PERF_TYPE_HW_CACHE /
>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event20:base-stat]
>>> -fd=20
>>> +[event25:base-stat]
>>> +fd=25
>>> type=3
>>> config=0
>>> optional=1
>>> @@ -181,8 +200,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event21:base-stat]
>>> -fd=21
>>> +[event26:base-stat]
>>> +fd=26
>>> type=3
>>> config=65536
>>> optional=1
>>> @@ -191,8 +210,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_LL << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event22:base-stat]
>>> -fd=22
>>> +[event27:base-stat]
>>> +fd=27
>>> type=3
>>> config=2
>>> optional=1
>>> @@ -201,8 +220,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_LL << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event23:base-stat]
>>> -fd=23
>>> +[event28:base-stat]
>>> +fd=28
>>> type=3
>>> config=65538
>>> optional=1
>>> @@ -211,8 +230,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_L1I << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event24:base-stat]
>>> -fd=24
>>> +[event29:base-stat]
>>> +fd=29
>>> type=3
>>> config=1
>>> optional=1
>>> @@ -221,8 +240,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_L1I << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event25:base-stat]
>>> -fd=25
>>> +[event30:base-stat]
>>> +fd=30
>>> type=3
>>> config=65537
>>> optional=1
>>> @@ -231,8 +250,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_DTLB << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event26:base-stat]
>>> -fd=26
>>> +[event31:base-stat]
>>> +fd=31
>>> type=3
>>> config=3
>>> optional=1
>>> @@ -241,8 +260,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_DTLB << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event27:base-stat]
>>> -fd=27
>>> +[event32:base-stat]
>>> +fd=32
>>> type=3
>>> config=65539
>>> optional=1
>>> @@ -251,8 +270,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_ITLB << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event28:base-stat]
>>> -fd=28
>>> +[event33:base-stat]
>>> +fd=33
>>> type=3
>>> config=4
>>> optional=1
>>> @@ -261,8 +280,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_ITLB << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event29:base-stat]
>>> -fd=29
>>> +[event34:base-stat]
>>> +fd=34
>>> type=3
>>> config=65540
>>> optional=1
>>> diff --git a/tools/perf/tests/attr/test-stat-detailed-3 b/tools/perf/tests/attr/test-stat-detailed-3
>>> index d555042e3fbf..e50535f45977 100644
>>> --- a/tools/perf/tests/attr/test-stat-detailed-3
>>> +++ b/tools/perf/tests/attr/test-stat-detailed-3
>>> @@ -90,89 +90,108 @@ enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>> [event13:base-stat]
>>> fd=13
>>> group_fd=11
>>> type=4
>>> -config=33024
>>> +config=33280
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>> [event14:base-stat]
>>> fd=14
>>> group_fd=11
>>> type=4
>>> -config=33280
>>> +config=33536
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>> [event15:base-stat]
>>> fd=15
>>> group_fd=11
>>> type=4
>>> -config=33536
>>> +config=33024
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
>>> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
>>> [event16:base-stat]
>>> fd=16
>>> -group_fd=11
>>> type=4
>>> -config=33792
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=4109
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
>>> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
>>> [event17:base-stat]
>>> fd=17
>>> -group_fd=11
>>> type=4
>>> -config=34048
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=17039629
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
>>> [event18:base-stat]
>>> fd=18
>>> -group_fd=11
>>> type=4
>>> -config=34304
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=60
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
>>> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
>>> [event19:base-stat]
>>> fd=19
>>> -group_fd=11
>>> type=4
>>> -config=34560
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=2097421
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
>>> +[event20:base-stat]
>>> +fd=20
>>> +type=4
>>> +config=316
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
>>> +[event21:base-stat]
>>> +fd=21
>>> +type=4
>>> +config=412
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
>>> +[event22:base-stat]
>>> +fd=22
>>> +type=4
>>> +config=572
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
>>> +[event23:base-stat]
>>> +fd=23
>>> +type=4
>>> +config=706
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
>>> +[event24:base-stat]
>>> +fd=24
>>> +type=4
>>> +config=270
>>> optional=1
>>>
>>> # PERF_TYPE_HW_CACHE /
>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event20:base-stat]
>>> -fd=20
>>> +[event25:base-stat]
>>> +fd=25
>>> type=3
>>> config=0
>>> optional=1
>>> @@ -181,8 +200,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event21:base-stat]
>>> -fd=21
>>> +[event26:base-stat]
>>> +fd=26
>>> type=3
>>> config=65536
>>> optional=1
>>> @@ -191,8 +210,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_LL << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event22:base-stat]
>>> -fd=22
>>> +[event27:base-stat]
>>> +fd=27
>>> type=3
>>> config=2
>>> optional=1
>>> @@ -201,8 +220,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_LL << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event23:base-stat]
>>> -fd=23
>>> +[event28:base-stat]
>>> +fd=28
>>> type=3
>>> config=65538
>>> optional=1
>>> @@ -211,8 +230,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_L1I << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event24:base-stat]
>>> -fd=24
>>> +[event29:base-stat]
>>> +fd=29
>>> type=3
>>> config=1
>>> optional=1
>>> @@ -221,8 +240,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_L1I << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event25:base-stat]
>>> -fd=25
>>> +[event30:base-stat]
>>> +fd=30
>>> type=3
>>> config=65537
>>> optional=1
>>> @@ -231,8 +250,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_DTLB << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event26:base-stat]
>>> -fd=26
>>> +[event31:base-stat]
>>> +fd=31
>>> type=3
>>> config=3
>>> optional=1
>>> @@ -241,8 +260,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_DTLB << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event27:base-stat]
>>> -fd=27
>>> +[event32:base-stat]
>>> +fd=32
>>> type=3
>>> config=65539
>>> optional=1
>>> @@ -251,8 +270,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_ITLB << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event28:base-stat]
>>> -fd=28
>>> +[event33:base-stat]
>>> +fd=33
>>> type=3
>>> config=4
>>> optional=1
>>> @@ -261,8 +280,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_ITLB << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event29:base-stat]
>>> -fd=29
>>> +[event34:base-stat]
>>> +fd=34
>>> type=3
>>> config=65540
>>> optional=1
>>> @@ -271,8 +290,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event30:base-stat]
>>> -fd=30
>>> +[event35:base-stat]
>>> +fd=35
>>> type=3
>>> config=512
>>> optional=1
>>> @@ -281,8 +300,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event31:base-stat]
>>> -fd=31
>>> +[event36:base-stat]
>>> +fd=36
>>> type=3
>>> config=66048
>>> optional=1
>
On Thu, May 18, 2023 at 6:01 AM Liang, Kan <[email protected]> wrote:
>
>
>
> On 2023-05-17 6:57 p.m., Ian Rogers wrote:
> > Previously hard coded events/metrics were used, update for the use of
> > the TopdownL1 json metric group.
> >
> > Fixes: 94b1a603fca7 ("perf stat: Add TopdownL1 metric as a default if present")
> > Signed-off-by: Ian Rogers <[email protected]>
> > ---
> > tools/perf/tests/attr/base-stat | 2 +-
> > tools/perf/tests/attr/test-stat-default | 80 ++++++++-----
> > tools/perf/tests/attr/test-stat-detailed-1 | 95 +++++++++------
> > tools/perf/tests/attr/test-stat-detailed-2 | 119 +++++++++++--------
> > tools/perf/tests/attr/test-stat-detailed-3 | 127 ++++++++++++---------
> > 5 files changed, 249 insertions(+), 174 deletions(-)
> >
> > diff --git a/tools/perf/tests/attr/base-stat b/tools/perf/tests/attr/base-stat
> > index a21fb65bc012..fccd8ec4d1b0 100644
> > --- a/tools/perf/tests/attr/base-stat
> > +++ b/tools/perf/tests/attr/base-stat
> > @@ -16,7 +16,7 @@ pinned=0
> > exclusive=0
> > exclude_user=0
> > exclude_kernel=0|1
> > -exclude_hv=0
> > +exclude_hv=0|1
> > exclude_idle=0
> > mmap=0
> > comm=0
> > diff --git a/tools/perf/tests/attr/test-stat-default b/tools/perf/tests/attr/test-stat-default
> > index d8ea6a88163f..a1e2da0a9a6d 100644
> > --- a/tools/perf/tests/attr/test-stat-default
> > +++ b/tools/perf/tests/attr/test-stat-default
> > @@ -40,7 +40,6 @@ fd=6
> > type=0
> > config=7
> > optional=1
> > -
> > # PERF_TYPE_HARDWARE / PERF_COUNT_HW_STALLED_CYCLES_BACKEND
> > [event7:base-stat]
> > fd=7
> > @@ -89,79 +88,98 @@ enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> > +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> > [event13:base-stat]
> > fd=13
> > group_fd=11
> > type=4
> > -config=33024
> > +config=33280
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> > +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> > [event14:base-stat]
> > fd=14
> > group_fd=11
> > type=4
> > -config=33280
> > +config=33536
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> > +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> > [event15:base-stat]
> > fd=15
> > group_fd=11
> > type=4
> > -config=33536
> > +config=33024
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> > +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
> > [event16:base-stat]
> > fd=16
> > -group_fd=11
> > type=4
> > -config=33792
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=4109
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> > +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
> > [event17:base-stat]
> > fd=17
> > -group_fd=11
> > type=4
> > -config=34048
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=17039629
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
> > [event18:base-stat]
> > fd=18
> > -group_fd=11
> > type=4
> > -config=34304
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=60
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> > +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
> > [event19:base-stat]
> > fd=19
> > -group_fd=11
> > type=4
> > -config=34560
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=2097421
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
> > +[event20:base-stat]
> > +fd=20
> > +type=4
> > +config=316
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
> > +[event21:base-stat]
> > +fd=21
> > +type=4
> > +config=412
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
> > +[event22:base-stat]
> > +fd=22
> > +type=4
> > +config=572
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
>
>
> Most of the newly added events are non-architectural events. The event
> name and the encoding could be changed later. I don't think it's a good
> idea to hard code them in the test. Could we read the TopdownL1 metrics,
> get a event list at runtime, and then only test those events?
Not really, this test fix is targeting 6.4 which shouldn't be a moving
target. We can do something better in 6.5.
Fwiw, on hybrid you get events on 2 PMUs, possibly with the PMU type
encoded in the high part of the config. Let's see how hybrid dealt
with this test:
https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/tree/tools/perf/tests/attr.c?h=perf-tools#n188
Oh.
Thanks,
Ian
> Thanks,
> Kan
>
> > +[event23:base-stat]
> > +fd=23
> > +type=4
> > +config=706
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
> > +[event24:base-stat]
> > +fd=24
> > +type=4
> > +config=270
> > optional=1
> > diff --git a/tools/perf/tests/attr/test-stat-detailed-1 b/tools/perf/tests/attr/test-stat-detailed-1
> > index b656ab93c5bf..1c52cb05c900 100644
> > --- a/tools/perf/tests/attr/test-stat-detailed-1
> > +++ b/tools/perf/tests/attr/test-stat-detailed-1
> > @@ -90,89 +90,108 @@ enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> > +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> > [event13:base-stat]
> > fd=13
> > group_fd=11
> > type=4
> > -config=33024
> > +config=33280
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> > +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> > [event14:base-stat]
> > fd=14
> > group_fd=11
> > type=4
> > -config=33280
> > +config=33536
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> > +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> > [event15:base-stat]
> > fd=15
> > group_fd=11
> > type=4
> > -config=33536
> > +config=33024
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> > +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
> > [event16:base-stat]
> > fd=16
> > -group_fd=11
> > type=4
> > -config=33792
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=4109
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> > +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
> > [event17:base-stat]
> > fd=17
> > -group_fd=11
> > type=4
> > -config=34048
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=17039629
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
> > [event18:base-stat]
> > fd=18
> > -group_fd=11
> > type=4
> > -config=34304
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=60
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> > +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
> > [event19:base-stat]
> > fd=19
> > -group_fd=11
> > type=4
> > -config=34560
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=2097421
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
> > +[event20:base-stat]
> > +fd=20
> > +type=4
> > +config=316
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
> > +[event21:base-stat]
> > +fd=21
> > +type=4
> > +config=412
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
> > +[event22:base-stat]
> > +fd=22
> > +type=4
> > +config=572
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
> > +[event23:base-stat]
> > +fd=23
> > +type=4
> > +config=706
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
> > +[event24:base-stat]
> > +fd=24
> > +type=4
> > +config=270
> > optional=1
> >
> > # PERF_TYPE_HW_CACHE /
> > # PERF_COUNT_HW_CACHE_L1D << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event20:base-stat]
> > -fd=20
> > +[event25:base-stat]
> > +fd=25
> > type=3
> > config=0
> > optional=1
> > @@ -181,8 +200,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_L1D << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event21:base-stat]
> > -fd=21
> > +[event26:base-stat]
> > +fd=26
> > type=3
> > config=65536
> > optional=1
> > @@ -191,8 +210,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_LL << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event22:base-stat]
> > -fd=22
> > +[event27:base-stat]
> > +fd=27
> > type=3
> > config=2
> > optional=1
> > @@ -201,8 +220,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_LL << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event23:base-stat]
> > -fd=23
> > +[event28:base-stat]
> > +fd=28
> > type=3
> > config=65538
> > optional=1
> > diff --git a/tools/perf/tests/attr/test-stat-detailed-2 b/tools/perf/tests/attr/test-stat-detailed-2
> > index 97625090a1c4..7e961d24a885 100644
> > --- a/tools/perf/tests/attr/test-stat-detailed-2
> > +++ b/tools/perf/tests/attr/test-stat-detailed-2
> > @@ -90,89 +90,108 @@ enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> > +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> > [event13:base-stat]
> > fd=13
> > group_fd=11
> > type=4
> > -config=33024
> > +config=33280
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> > +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> > [event14:base-stat]
> > fd=14
> > group_fd=11
> > type=4
> > -config=33280
> > +config=33536
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> > +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> > [event15:base-stat]
> > fd=15
> > group_fd=11
> > type=4
> > -config=33536
> > +config=33024
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> > +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
> > [event16:base-stat]
> > fd=16
> > -group_fd=11
> > type=4
> > -config=33792
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=4109
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> > +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
> > [event17:base-stat]
> > fd=17
> > -group_fd=11
> > type=4
> > -config=34048
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=17039629
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
> > [event18:base-stat]
> > fd=18
> > -group_fd=11
> > type=4
> > -config=34304
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=60
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> > +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
> > [event19:base-stat]
> > fd=19
> > -group_fd=11
> > type=4
> > -config=34560
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=2097421
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
> > +[event20:base-stat]
> > +fd=20
> > +type=4
> > +config=316
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
> > +[event21:base-stat]
> > +fd=21
> > +type=4
> > +config=412
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
> > +[event22:base-stat]
> > +fd=22
> > +type=4
> > +config=572
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
> > +[event23:base-stat]
> > +fd=23
> > +type=4
> > +config=706
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
> > +[event24:base-stat]
> > +fd=24
> > +type=4
> > +config=270
> > optional=1
> >
> > # PERF_TYPE_HW_CACHE /
> > # PERF_COUNT_HW_CACHE_L1D << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event20:base-stat]
> > -fd=20
> > +[event25:base-stat]
> > +fd=25
> > type=3
> > config=0
> > optional=1
> > @@ -181,8 +200,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_L1D << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event21:base-stat]
> > -fd=21
> > +[event26:base-stat]
> > +fd=26
> > type=3
> > config=65536
> > optional=1
> > @@ -191,8 +210,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_LL << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event22:base-stat]
> > -fd=22
> > +[event27:base-stat]
> > +fd=27
> > type=3
> > config=2
> > optional=1
> > @@ -201,8 +220,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_LL << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event23:base-stat]
> > -fd=23
> > +[event28:base-stat]
> > +fd=28
> > type=3
> > config=65538
> > optional=1
> > @@ -211,8 +230,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_L1I << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event24:base-stat]
> > -fd=24
> > +[event29:base-stat]
> > +fd=29
> > type=3
> > config=1
> > optional=1
> > @@ -221,8 +240,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_L1I << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event25:base-stat]
> > -fd=25
> > +[event30:base-stat]
> > +fd=30
> > type=3
> > config=65537
> > optional=1
> > @@ -231,8 +250,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_DTLB << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event26:base-stat]
> > -fd=26
> > +[event31:base-stat]
> > +fd=31
> > type=3
> > config=3
> > optional=1
> > @@ -241,8 +260,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_DTLB << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event27:base-stat]
> > -fd=27
> > +[event32:base-stat]
> > +fd=32
> > type=3
> > config=65539
> > optional=1
> > @@ -251,8 +270,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_ITLB << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event28:base-stat]
> > -fd=28
> > +[event33:base-stat]
> > +fd=33
> > type=3
> > config=4
> > optional=1
> > @@ -261,8 +280,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_ITLB << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event29:base-stat]
> > -fd=29
> > +[event34:base-stat]
> > +fd=34
> > type=3
> > config=65540
> > optional=1
> > diff --git a/tools/perf/tests/attr/test-stat-detailed-3 b/tools/perf/tests/attr/test-stat-detailed-3
> > index d555042e3fbf..e50535f45977 100644
> > --- a/tools/perf/tests/attr/test-stat-detailed-3
> > +++ b/tools/perf/tests/attr/test-stat-detailed-3
> > @@ -90,89 +90,108 @@ enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> > +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> > [event13:base-stat]
> > fd=13
> > group_fd=11
> > type=4
> > -config=33024
> > +config=33280
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> > +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> > [event14:base-stat]
> > fd=14
> > group_fd=11
> > type=4
> > -config=33280
> > +config=33536
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> > +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> > [event15:base-stat]
> > fd=15
> > group_fd=11
> > type=4
> > -config=33536
> > +config=33024
> > disabled=0
> > enable_on_exec=0
> > read_format=15
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> > +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
> > [event16:base-stat]
> > fd=16
> > -group_fd=11
> > type=4
> > -config=33792
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=4109
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> > +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
> > [event17:base-stat]
> > fd=17
> > -group_fd=11
> > type=4
> > -config=34048
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=17039629
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
> > [event18:base-stat]
> > fd=18
> > -group_fd=11
> > type=4
> > -config=34304
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=60
> > optional=1
> >
> > -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> > +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
> > [event19:base-stat]
> > fd=19
> > -group_fd=11
> > type=4
> > -config=34560
> > -disabled=0
> > -enable_on_exec=0
> > -read_format=15
> > +config=2097421
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
> > +[event20:base-stat]
> > +fd=20
> > +type=4
> > +config=316
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
> > +[event21:base-stat]
> > +fd=21
> > +type=4
> > +config=412
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
> > +[event22:base-stat]
> > +fd=22
> > +type=4
> > +config=572
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
> > +[event23:base-stat]
> > +fd=23
> > +type=4
> > +config=706
> > +optional=1
> > +
> > +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
> > +[event24:base-stat]
> > +fd=24
> > +type=4
> > +config=270
> > optional=1
> >
> > # PERF_TYPE_HW_CACHE /
> > # PERF_COUNT_HW_CACHE_L1D << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event20:base-stat]
> > -fd=20
> > +[event25:base-stat]
> > +fd=25
> > type=3
> > config=0
> > optional=1
> > @@ -181,8 +200,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_L1D << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event21:base-stat]
> > -fd=21
> > +[event26:base-stat]
> > +fd=26
> > type=3
> > config=65536
> > optional=1
> > @@ -191,8 +210,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_LL << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event22:base-stat]
> > -fd=22
> > +[event27:base-stat]
> > +fd=27
> > type=3
> > config=2
> > optional=1
> > @@ -201,8 +220,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_LL << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event23:base-stat]
> > -fd=23
> > +[event28:base-stat]
> > +fd=28
> > type=3
> > config=65538
> > optional=1
> > @@ -211,8 +230,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_L1I << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event24:base-stat]
> > -fd=24
> > +[event29:base-stat]
> > +fd=29
> > type=3
> > config=1
> > optional=1
> > @@ -221,8 +240,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_L1I << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event25:base-stat]
> > -fd=25
> > +[event30:base-stat]
> > +fd=30
> > type=3
> > config=65537
> > optional=1
> > @@ -231,8 +250,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_DTLB << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event26:base-stat]
> > -fd=26
> > +[event31:base-stat]
> > +fd=31
> > type=3
> > config=3
> > optional=1
> > @@ -241,8 +260,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_DTLB << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event27:base-stat]
> > -fd=27
> > +[event32:base-stat]
> > +fd=32
> > type=3
> > config=65539
> > optional=1
> > @@ -251,8 +270,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_ITLB << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event28:base-stat]
> > -fd=28
> > +[event33:base-stat]
> > +fd=33
> > type=3
> > config=4
> > optional=1
> > @@ -261,8 +280,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_ITLB << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event29:base-stat]
> > -fd=29
> > +[event34:base-stat]
> > +fd=34
> > type=3
> > config=65540
> > optional=1
> > @@ -271,8 +290,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_L1D << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> > -[event30:base-stat]
> > -fd=30
> > +[event35:base-stat]
> > +fd=35
> > type=3
> > config=512
> > optional=1
> > @@ -281,8 +300,8 @@ optional=1
> > # PERF_COUNT_HW_CACHE_L1D << 0 |
> > # (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
> > # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> > -[event31:base-stat]
> > -fd=31
> > +[event36:base-stat]
> > +fd=36
> > type=3
> > config=66048
> > optional=1
On 2023-05-18 10:10 a.m., Ian Rogers wrote:
> On Thu, May 18, 2023 at 6:01 AM Liang, Kan <[email protected]> wrote:
>>
>>
>>
>> On 2023-05-17 6:57 p.m., Ian Rogers wrote:
>>> Previously hard coded events/metrics were used, update for the use of
>>> the TopdownL1 json metric group.
>>>
>>> Fixes: 94b1a603fca7 ("perf stat: Add TopdownL1 metric as a default if present")
>>> Signed-off-by: Ian Rogers <[email protected]>
>>> ---
>>> tools/perf/tests/attr/base-stat | 2 +-
>>> tools/perf/tests/attr/test-stat-default | 80 ++++++++-----
>>> tools/perf/tests/attr/test-stat-detailed-1 | 95 +++++++++------
>>> tools/perf/tests/attr/test-stat-detailed-2 | 119 +++++++++++--------
>>> tools/perf/tests/attr/test-stat-detailed-3 | 127 ++++++++++++---------
>>> 5 files changed, 249 insertions(+), 174 deletions(-)
>>>
>>> diff --git a/tools/perf/tests/attr/base-stat b/tools/perf/tests/attr/base-stat
>>> index a21fb65bc012..fccd8ec4d1b0 100644
>>> --- a/tools/perf/tests/attr/base-stat
>>> +++ b/tools/perf/tests/attr/base-stat
>>> @@ -16,7 +16,7 @@ pinned=0
>>> exclusive=0
>>> exclude_user=0
>>> exclude_kernel=0|1
>>> -exclude_hv=0
>>> +exclude_hv=0|1
>>> exclude_idle=0
>>> mmap=0
>>> comm=0
>>> diff --git a/tools/perf/tests/attr/test-stat-default b/tools/perf/tests/attr/test-stat-default
>>> index d8ea6a88163f..a1e2da0a9a6d 100644
>>> --- a/tools/perf/tests/attr/test-stat-default
>>> +++ b/tools/perf/tests/attr/test-stat-default
>>> @@ -40,7 +40,6 @@ fd=6
>>> type=0
>>> config=7
>>> optional=1
>>> -
>>> # PERF_TYPE_HARDWARE / PERF_COUNT_HW_STALLED_CYCLES_BACKEND
>>> [event7:base-stat]
>>> fd=7
>>> @@ -89,79 +88,98 @@ enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>> [event13:base-stat]
>>> fd=13
>>> group_fd=11
>>> type=4
>>> -config=33024
>>> +config=33280
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>> [event14:base-stat]
>>> fd=14
>>> group_fd=11
>>> type=4
>>> -config=33280
>>> +config=33536
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>> [event15:base-stat]
>>> fd=15
>>> group_fd=11
>>> type=4
>>> -config=33536
>>> +config=33024
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
>>> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
>>> [event16:base-stat]
>>> fd=16
>>> -group_fd=11
>>> type=4
>>> -config=33792
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=4109
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
>>> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
>>> [event17:base-stat]
>>> fd=17
>>> -group_fd=11
>>> type=4
>>> -config=34048
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=17039629
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
>>> [event18:base-stat]
>>> fd=18
>>> -group_fd=11
>>> type=4
>>> -config=34304
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=60
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
>>> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
>>> [event19:base-stat]
>>> fd=19
>>> -group_fd=11
>>> type=4
>>> -config=34560
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=2097421
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
>>> +[event20:base-stat]
>>> +fd=20
>>> +type=4
>>> +config=316
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
>>> +[event21:base-stat]
>>> +fd=21
>>> +type=4
>>> +config=412
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
>>> +[event22:base-stat]
>>> +fd=22
>>> +type=4
>>> +config=572
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
>>
>>
>> Most of the newly added events are non-architectural events. The event
>> name and the encoding could be changed later. I don't think it's a good
>> idea to hard code them in the test. Could we read the TopdownL1 metrics,
>> get a event list at runtime, and then only test those events?
>
> Not really, this test fix is targeting 6.4 which shouldn't be a moving
> target. We can do something better in 6.5.
What's the problem the patch trying to fix? Is it user visiable? Does
the perf test fail?
I want to understand why we need such temporary fix.
>
> Fwiw, on hybrid you get events on 2 PMUs, possibly with the PMU type
> encoded in the high part of the config. Let's see how hybrid dealt
> with this test:
> https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/tree/tools/perf/tests/attr.c?h=perf-tools#n188
> Oh.
>
If we don't know how to handle the hybrid, we can skip the test cases.
We can add a specific case later in platform specifc test cases. I don't
see any problem here.
The temporary fix may not work for all the generations, especially for
the future generations. It's very likely that we still run 6.4 on a
future platform with a different formula. Then it may bring problems, no?
Thanks,
Kan
> Thanks,
> Ian
>
>> Thanks,
>> Kan
>>
>>> +[event23:base-stat]
>>> +fd=23
>>> +type=4
>>> +config=706
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
>>> +[event24:base-stat]
>>> +fd=24
>>> +type=4
>>> +config=270
>>> optional=1
>>> diff --git a/tools/perf/tests/attr/test-stat-detailed-1 b/tools/perf/tests/attr/test-stat-detailed-1
>>> index b656ab93c5bf..1c52cb05c900 100644
>>> --- a/tools/perf/tests/attr/test-stat-detailed-1
>>> +++ b/tools/perf/tests/attr/test-stat-detailed-1
>>> @@ -90,89 +90,108 @@ enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>> [event13:base-stat]
>>> fd=13
>>> group_fd=11
>>> type=4
>>> -config=33024
>>> +config=33280
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>> [event14:base-stat]
>>> fd=14
>>> group_fd=11
>>> type=4
>>> -config=33280
>>> +config=33536
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>> [event15:base-stat]
>>> fd=15
>>> group_fd=11
>>> type=4
>>> -config=33536
>>> +config=33024
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
>>> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
>>> [event16:base-stat]
>>> fd=16
>>> -group_fd=11
>>> type=4
>>> -config=33792
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=4109
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
>>> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
>>> [event17:base-stat]
>>> fd=17
>>> -group_fd=11
>>> type=4
>>> -config=34048
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=17039629
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
>>> [event18:base-stat]
>>> fd=18
>>> -group_fd=11
>>> type=4
>>> -config=34304
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=60
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
>>> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
>>> [event19:base-stat]
>>> fd=19
>>> -group_fd=11
>>> type=4
>>> -config=34560
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=2097421
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
>>> +[event20:base-stat]
>>> +fd=20
>>> +type=4
>>> +config=316
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
>>> +[event21:base-stat]
>>> +fd=21
>>> +type=4
>>> +config=412
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
>>> +[event22:base-stat]
>>> +fd=22
>>> +type=4
>>> +config=572
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
>>> +[event23:base-stat]
>>> +fd=23
>>> +type=4
>>> +config=706
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
>>> +[event24:base-stat]
>>> +fd=24
>>> +type=4
>>> +config=270
>>> optional=1
>>>
>>> # PERF_TYPE_HW_CACHE /
>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event20:base-stat]
>>> -fd=20
>>> +[event25:base-stat]
>>> +fd=25
>>> type=3
>>> config=0
>>> optional=1
>>> @@ -181,8 +200,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event21:base-stat]
>>> -fd=21
>>> +[event26:base-stat]
>>> +fd=26
>>> type=3
>>> config=65536
>>> optional=1
>>> @@ -191,8 +210,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_LL << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event22:base-stat]
>>> -fd=22
>>> +[event27:base-stat]
>>> +fd=27
>>> type=3
>>> config=2
>>> optional=1
>>> @@ -201,8 +220,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_LL << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event23:base-stat]
>>> -fd=23
>>> +[event28:base-stat]
>>> +fd=28
>>> type=3
>>> config=65538
>>> optional=1
>>> diff --git a/tools/perf/tests/attr/test-stat-detailed-2 b/tools/perf/tests/attr/test-stat-detailed-2
>>> index 97625090a1c4..7e961d24a885 100644
>>> --- a/tools/perf/tests/attr/test-stat-detailed-2
>>> +++ b/tools/perf/tests/attr/test-stat-detailed-2
>>> @@ -90,89 +90,108 @@ enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>> [event13:base-stat]
>>> fd=13
>>> group_fd=11
>>> type=4
>>> -config=33024
>>> +config=33280
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>> [event14:base-stat]
>>> fd=14
>>> group_fd=11
>>> type=4
>>> -config=33280
>>> +config=33536
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>> [event15:base-stat]
>>> fd=15
>>> group_fd=11
>>> type=4
>>> -config=33536
>>> +config=33024
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
>>> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
>>> [event16:base-stat]
>>> fd=16
>>> -group_fd=11
>>> type=4
>>> -config=33792
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=4109
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
>>> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
>>> [event17:base-stat]
>>> fd=17
>>> -group_fd=11
>>> type=4
>>> -config=34048
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=17039629
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
>>> [event18:base-stat]
>>> fd=18
>>> -group_fd=11
>>> type=4
>>> -config=34304
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=60
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
>>> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
>>> [event19:base-stat]
>>> fd=19
>>> -group_fd=11
>>> type=4
>>> -config=34560
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=2097421
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
>>> +[event20:base-stat]
>>> +fd=20
>>> +type=4
>>> +config=316
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
>>> +[event21:base-stat]
>>> +fd=21
>>> +type=4
>>> +config=412
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
>>> +[event22:base-stat]
>>> +fd=22
>>> +type=4
>>> +config=572
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
>>> +[event23:base-stat]
>>> +fd=23
>>> +type=4
>>> +config=706
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
>>> +[event24:base-stat]
>>> +fd=24
>>> +type=4
>>> +config=270
>>> optional=1
>>>
>>> # PERF_TYPE_HW_CACHE /
>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event20:base-stat]
>>> -fd=20
>>> +[event25:base-stat]
>>> +fd=25
>>> type=3
>>> config=0
>>> optional=1
>>> @@ -181,8 +200,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event21:base-stat]
>>> -fd=21
>>> +[event26:base-stat]
>>> +fd=26
>>> type=3
>>> config=65536
>>> optional=1
>>> @@ -191,8 +210,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_LL << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event22:base-stat]
>>> -fd=22
>>> +[event27:base-stat]
>>> +fd=27
>>> type=3
>>> config=2
>>> optional=1
>>> @@ -201,8 +220,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_LL << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event23:base-stat]
>>> -fd=23
>>> +[event28:base-stat]
>>> +fd=28
>>> type=3
>>> config=65538
>>> optional=1
>>> @@ -211,8 +230,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_L1I << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event24:base-stat]
>>> -fd=24
>>> +[event29:base-stat]
>>> +fd=29
>>> type=3
>>> config=1
>>> optional=1
>>> @@ -221,8 +240,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_L1I << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event25:base-stat]
>>> -fd=25
>>> +[event30:base-stat]
>>> +fd=30
>>> type=3
>>> config=65537
>>> optional=1
>>> @@ -231,8 +250,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_DTLB << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event26:base-stat]
>>> -fd=26
>>> +[event31:base-stat]
>>> +fd=31
>>> type=3
>>> config=3
>>> optional=1
>>> @@ -241,8 +260,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_DTLB << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event27:base-stat]
>>> -fd=27
>>> +[event32:base-stat]
>>> +fd=32
>>> type=3
>>> config=65539
>>> optional=1
>>> @@ -251,8 +270,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_ITLB << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event28:base-stat]
>>> -fd=28
>>> +[event33:base-stat]
>>> +fd=33
>>> type=3
>>> config=4
>>> optional=1
>>> @@ -261,8 +280,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_ITLB << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event29:base-stat]
>>> -fd=29
>>> +[event34:base-stat]
>>> +fd=34
>>> type=3
>>> config=65540
>>> optional=1
>>> diff --git a/tools/perf/tests/attr/test-stat-detailed-3 b/tools/perf/tests/attr/test-stat-detailed-3
>>> index d555042e3fbf..e50535f45977 100644
>>> --- a/tools/perf/tests/attr/test-stat-detailed-3
>>> +++ b/tools/perf/tests/attr/test-stat-detailed-3
>>> @@ -90,89 +90,108 @@ enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>> [event13:base-stat]
>>> fd=13
>>> group_fd=11
>>> type=4
>>> -config=33024
>>> +config=33280
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>> [event14:base-stat]
>>> fd=14
>>> group_fd=11
>>> type=4
>>> -config=33280
>>> +config=33536
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>> [event15:base-stat]
>>> fd=15
>>> group_fd=11
>>> type=4
>>> -config=33536
>>> +config=33024
>>> disabled=0
>>> enable_on_exec=0
>>> read_format=15
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
>>> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
>>> [event16:base-stat]
>>> fd=16
>>> -group_fd=11
>>> type=4
>>> -config=33792
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=4109
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
>>> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
>>> [event17:base-stat]
>>> fd=17
>>> -group_fd=11
>>> type=4
>>> -config=34048
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=17039629
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
>>> [event18:base-stat]
>>> fd=18
>>> -group_fd=11
>>> type=4
>>> -config=34304
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=60
>>> optional=1
>>>
>>> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
>>> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
>>> [event19:base-stat]
>>> fd=19
>>> -group_fd=11
>>> type=4
>>> -config=34560
>>> -disabled=0
>>> -enable_on_exec=0
>>> -read_format=15
>>> +config=2097421
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
>>> +[event20:base-stat]
>>> +fd=20
>>> +type=4
>>> +config=316
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
>>> +[event21:base-stat]
>>> +fd=21
>>> +type=4
>>> +config=412
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
>>> +[event22:base-stat]
>>> +fd=22
>>> +type=4
>>> +config=572
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
>>> +[event23:base-stat]
>>> +fd=23
>>> +type=4
>>> +config=706
>>> +optional=1
>>> +
>>> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
>>> +[event24:base-stat]
>>> +fd=24
>>> +type=4
>>> +config=270
>>> optional=1
>>>
>>> # PERF_TYPE_HW_CACHE /
>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event20:base-stat]
>>> -fd=20
>>> +[event25:base-stat]
>>> +fd=25
>>> type=3
>>> config=0
>>> optional=1
>>> @@ -181,8 +200,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event21:base-stat]
>>> -fd=21
>>> +[event26:base-stat]
>>> +fd=26
>>> type=3
>>> config=65536
>>> optional=1
>>> @@ -191,8 +210,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_LL << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event22:base-stat]
>>> -fd=22
>>> +[event27:base-stat]
>>> +fd=27
>>> type=3
>>> config=2
>>> optional=1
>>> @@ -201,8 +220,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_LL << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event23:base-stat]
>>> -fd=23
>>> +[event28:base-stat]
>>> +fd=28
>>> type=3
>>> config=65538
>>> optional=1
>>> @@ -211,8 +230,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_L1I << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event24:base-stat]
>>> -fd=24
>>> +[event29:base-stat]
>>> +fd=29
>>> type=3
>>> config=1
>>> optional=1
>>> @@ -221,8 +240,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_L1I << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event25:base-stat]
>>> -fd=25
>>> +[event30:base-stat]
>>> +fd=30
>>> type=3
>>> config=65537
>>> optional=1
>>> @@ -231,8 +250,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_DTLB << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event26:base-stat]
>>> -fd=26
>>> +[event31:base-stat]
>>> +fd=31
>>> type=3
>>> config=3
>>> optional=1
>>> @@ -241,8 +260,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_DTLB << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event27:base-stat]
>>> -fd=27
>>> +[event32:base-stat]
>>> +fd=32
>>> type=3
>>> config=65539
>>> optional=1
>>> @@ -251,8 +270,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_ITLB << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event28:base-stat]
>>> -fd=28
>>> +[event33:base-stat]
>>> +fd=33
>>> type=3
>>> config=4
>>> optional=1
>>> @@ -261,8 +280,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_ITLB << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event29:base-stat]
>>> -fd=29
>>> +[event34:base-stat]
>>> +fd=34
>>> type=3
>>> config=65540
>>> optional=1
>>> @@ -271,8 +290,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>> -[event30:base-stat]
>>> -fd=30
>>> +[event35:base-stat]
>>> +fd=35
>>> type=3
>>> config=512
>>> optional=1
>>> @@ -281,8 +300,8 @@ optional=1
>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>> # (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>> -[event31:base-stat]
>>> -fd=31
>>> +[event36:base-stat]
>>> +fd=36
>>> type=3
>>> config=66048
>>> optional=1
On Thu, May 18, 2023 at 7:40 AM Liang, Kan <[email protected]> wrote:
>
>
>
> On 2023-05-18 10:10 a.m., Ian Rogers wrote:
> > On Thu, May 18, 2023 at 6:01 AM Liang, Kan <[email protected]> wrote:
> >>
> >>
> >>
> >> On 2023-05-17 6:57 p.m., Ian Rogers wrote:
> >>> Previously hard coded events/metrics were used, update for the use of
> >>> the TopdownL1 json metric group.
> >>>
> >>> Fixes: 94b1a603fca7 ("perf stat: Add TopdownL1 metric as a default if present")
> >>> Signed-off-by: Ian Rogers <[email protected]>
> >>> ---
> >>> tools/perf/tests/attr/base-stat | 2 +-
> >>> tools/perf/tests/attr/test-stat-default | 80 ++++++++-----
> >>> tools/perf/tests/attr/test-stat-detailed-1 | 95 +++++++++------
> >>> tools/perf/tests/attr/test-stat-detailed-2 | 119 +++++++++++--------
> >>> tools/perf/tests/attr/test-stat-detailed-3 | 127 ++++++++++++---------
> >>> 5 files changed, 249 insertions(+), 174 deletions(-)
> >>>
> >>> diff --git a/tools/perf/tests/attr/base-stat b/tools/perf/tests/attr/base-stat
> >>> index a21fb65bc012..fccd8ec4d1b0 100644
> >>> --- a/tools/perf/tests/attr/base-stat
> >>> +++ b/tools/perf/tests/attr/base-stat
> >>> @@ -16,7 +16,7 @@ pinned=0
> >>> exclusive=0
> >>> exclude_user=0
> >>> exclude_kernel=0|1
> >>> -exclude_hv=0
> >>> +exclude_hv=0|1
> >>> exclude_idle=0
> >>> mmap=0
> >>> comm=0
> >>> diff --git a/tools/perf/tests/attr/test-stat-default b/tools/perf/tests/attr/test-stat-default
> >>> index d8ea6a88163f..a1e2da0a9a6d 100644
> >>> --- a/tools/perf/tests/attr/test-stat-default
> >>> +++ b/tools/perf/tests/attr/test-stat-default
> >>> @@ -40,7 +40,6 @@ fd=6
> >>> type=0
> >>> config=7
> >>> optional=1
> >>> -
> >>> # PERF_TYPE_HARDWARE / PERF_COUNT_HW_STALLED_CYCLES_BACKEND
> >>> [event7:base-stat]
> >>> fd=7
> >>> @@ -89,79 +88,98 @@ enable_on_exec=0
> >>> read_format=15
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> >>> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> >>> [event13:base-stat]
> >>> fd=13
> >>> group_fd=11
> >>> type=4
> >>> -config=33024
> >>> +config=33280
> >>> disabled=0
> >>> enable_on_exec=0
> >>> read_format=15
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> >>> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> >>> [event14:base-stat]
> >>> fd=14
> >>> group_fd=11
> >>> type=4
> >>> -config=33280
> >>> +config=33536
> >>> disabled=0
> >>> enable_on_exec=0
> >>> read_format=15
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> >>> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> >>> [event15:base-stat]
> >>> fd=15
> >>> group_fd=11
> >>> type=4
> >>> -config=33536
> >>> +config=33024
> >>> disabled=0
> >>> enable_on_exec=0
> >>> read_format=15
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> >>> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
> >>> [event16:base-stat]
> >>> fd=16
> >>> -group_fd=11
> >>> type=4
> >>> -config=33792
> >>> -disabled=0
> >>> -enable_on_exec=0
> >>> -read_format=15
> >>> +config=4109
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> >>> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
> >>> [event17:base-stat]
> >>> fd=17
> >>> -group_fd=11
> >>> type=4
> >>> -config=34048
> >>> -disabled=0
> >>> -enable_on_exec=0
> >>> -read_format=15
> >>> +config=17039629
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> >>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
> >>> [event18:base-stat]
> >>> fd=18
> >>> -group_fd=11
> >>> type=4
> >>> -config=34304
> >>> -disabled=0
> >>> -enable_on_exec=0
> >>> -read_format=15
> >>> +config=60
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> >>> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
> >>> [event19:base-stat]
> >>> fd=19
> >>> -group_fd=11
> >>> type=4
> >>> -config=34560
> >>> -disabled=0
> >>> -enable_on_exec=0
> >>> -read_format=15
> >>> +config=2097421
> >>> +optional=1
> >>> +
> >>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
> >>> +[event20:base-stat]
> >>> +fd=20
> >>> +type=4
> >>> +config=316
> >>> +optional=1
> >>> +
> >>> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
> >>> +[event21:base-stat]
> >>> +fd=21
> >>> +type=4
> >>> +config=412
> >>> +optional=1
> >>> +
> >>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
> >>> +[event22:base-stat]
> >>> +fd=22
> >>> +type=4
> >>> +config=572
> >>> +optional=1
> >>> +
> >>> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
> >>
> >>
> >> Most of the newly added events are non-architectural events. The event
> >> name and the encoding could be changed later. I don't think it's a good
> >> idea to hard code them in the test. Could we read the TopdownL1 metrics,
> >> get a event list at runtime, and then only test those events?
> >
> > Not really, this test fix is targeting 6.4 which shouldn't be a moving
> > target. We can do something better in 6.5.
> What's the problem the patch trying to fix? Is it user visiable? Does
> the perf test fail?
>
> I want to understand why we need such temporary fix.
So the test has issues, we should fix these perhaps by making the
wrapper a shell test, as these lack the robustness issues. On my
Skylake testing had yielded "Skip" and my Tigerlake testing had
yielded "Ok" but if I altered my directory it changed to "Failed".
Arnaldo discovered the issue in recent testing and asked me to take a
look.
> >
> > Fwiw, on hybrid you get events on 2 PMUs, possibly with the PMU type
> > encoded in the high part of the config. Let's see how hybrid dealt
> > with this test:
> > https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/tree/tools/perf/tests/attr.c?h=perf-tools#n188
> > Oh.
> >
>
> If we don't know how to handle the hybrid, we can skip the test cases.
> We can add a specific case later in platform specifc test cases. I don't
> see any problem here.
>
> The temporary fix may not work for all the generations, especially for
> the future generations. It's very likely that we still run 6.4 on a
> future platform with a different formula. Then it may bring problems, no?
No, because we're using json encoded metrics and events which are
built into the perf tool. When we map the cpuid for the future
generation CPU to the json we'll not find anything. This test marks
the events as optional, they aren't present on ARM and AMD, and vary
across Intel models, so the test will still pass as the optional
events weren't programmed and it doesn't matter that the optional
events weren't found. If the upstream json events/metrics change then
it won't affect the json built into the tool and assumed by the test,
so again the test won't break.
Fwiw, were sysfs events being used then this test is more brittle as
the tool and kernel releases aren't obviously aligned. We could get
the test to break by mixing the version of the test with the version
of the perf tool ¯\_(ツ)_/¯.
Thanks,
Ian
> Thanks,
> Kan
>
> > Thanks,
> > Ian
> >
> >> Thanks,
> >> Kan
> >>
> >>> +[event23:base-stat]
> >>> +fd=23
> >>> +type=4
> >>> +config=706
> >>> +optional=1
> >>> +
> >>> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
> >>> +[event24:base-stat]
> >>> +fd=24
> >>> +type=4
> >>> +config=270
> >>> optional=1
> >>> diff --git a/tools/perf/tests/attr/test-stat-detailed-1 b/tools/perf/tests/attr/test-stat-detailed-1
> >>> index b656ab93c5bf..1c52cb05c900 100644
> >>> --- a/tools/perf/tests/attr/test-stat-detailed-1
> >>> +++ b/tools/perf/tests/attr/test-stat-detailed-1
> >>> @@ -90,89 +90,108 @@ enable_on_exec=0
> >>> read_format=15
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> >>> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> >>> [event13:base-stat]
> >>> fd=13
> >>> group_fd=11
> >>> type=4
> >>> -config=33024
> >>> +config=33280
> >>> disabled=0
> >>> enable_on_exec=0
> >>> read_format=15
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> >>> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> >>> [event14:base-stat]
> >>> fd=14
> >>> group_fd=11
> >>> type=4
> >>> -config=33280
> >>> +config=33536
> >>> disabled=0
> >>> enable_on_exec=0
> >>> read_format=15
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> >>> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> >>> [event15:base-stat]
> >>> fd=15
> >>> group_fd=11
> >>> type=4
> >>> -config=33536
> >>> +config=33024
> >>> disabled=0
> >>> enable_on_exec=0
> >>> read_format=15
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> >>> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
> >>> [event16:base-stat]
> >>> fd=16
> >>> -group_fd=11
> >>> type=4
> >>> -config=33792
> >>> -disabled=0
> >>> -enable_on_exec=0
> >>> -read_format=15
> >>> +config=4109
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> >>> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
> >>> [event17:base-stat]
> >>> fd=17
> >>> -group_fd=11
> >>> type=4
> >>> -config=34048
> >>> -disabled=0
> >>> -enable_on_exec=0
> >>> -read_format=15
> >>> +config=17039629
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> >>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
> >>> [event18:base-stat]
> >>> fd=18
> >>> -group_fd=11
> >>> type=4
> >>> -config=34304
> >>> -disabled=0
> >>> -enable_on_exec=0
> >>> -read_format=15
> >>> +config=60
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> >>> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
> >>> [event19:base-stat]
> >>> fd=19
> >>> -group_fd=11
> >>> type=4
> >>> -config=34560
> >>> -disabled=0
> >>> -enable_on_exec=0
> >>> -read_format=15
> >>> +config=2097421
> >>> +optional=1
> >>> +
> >>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
> >>> +[event20:base-stat]
> >>> +fd=20
> >>> +type=4
> >>> +config=316
> >>> +optional=1
> >>> +
> >>> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
> >>> +[event21:base-stat]
> >>> +fd=21
> >>> +type=4
> >>> +config=412
> >>> +optional=1
> >>> +
> >>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
> >>> +[event22:base-stat]
> >>> +fd=22
> >>> +type=4
> >>> +config=572
> >>> +optional=1
> >>> +
> >>> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
> >>> +[event23:base-stat]
> >>> +fd=23
> >>> +type=4
> >>> +config=706
> >>> +optional=1
> >>> +
> >>> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
> >>> +[event24:base-stat]
> >>> +fd=24
> >>> +type=4
> >>> +config=270
> >>> optional=1
> >>>
> >>> # PERF_TYPE_HW_CACHE /
> >>> # PERF_COUNT_HW_CACHE_L1D << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> >>> -[event20:base-stat]
> >>> -fd=20
> >>> +[event25:base-stat]
> >>> +fd=25
> >>> type=3
> >>> config=0
> >>> optional=1
> >>> @@ -181,8 +200,8 @@ optional=1
> >>> # PERF_COUNT_HW_CACHE_L1D << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> >>> -[event21:base-stat]
> >>> -fd=21
> >>> +[event26:base-stat]
> >>> +fd=26
> >>> type=3
> >>> config=65536
> >>> optional=1
> >>> @@ -191,8 +210,8 @@ optional=1
> >>> # PERF_COUNT_HW_CACHE_LL << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> >>> -[event22:base-stat]
> >>> -fd=22
> >>> +[event27:base-stat]
> >>> +fd=27
> >>> type=3
> >>> config=2
> >>> optional=1
> >>> @@ -201,8 +220,8 @@ optional=1
> >>> # PERF_COUNT_HW_CACHE_LL << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> >>> -[event23:base-stat]
> >>> -fd=23
> >>> +[event28:base-stat]
> >>> +fd=28
> >>> type=3
> >>> config=65538
> >>> optional=1
> >>> diff --git a/tools/perf/tests/attr/test-stat-detailed-2 b/tools/perf/tests/attr/test-stat-detailed-2
> >>> index 97625090a1c4..7e961d24a885 100644
> >>> --- a/tools/perf/tests/attr/test-stat-detailed-2
> >>> +++ b/tools/perf/tests/attr/test-stat-detailed-2
> >>> @@ -90,89 +90,108 @@ enable_on_exec=0
> >>> read_format=15
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> >>> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> >>> [event13:base-stat]
> >>> fd=13
> >>> group_fd=11
> >>> type=4
> >>> -config=33024
> >>> +config=33280
> >>> disabled=0
> >>> enable_on_exec=0
> >>> read_format=15
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> >>> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> >>> [event14:base-stat]
> >>> fd=14
> >>> group_fd=11
> >>> type=4
> >>> -config=33280
> >>> +config=33536
> >>> disabled=0
> >>> enable_on_exec=0
> >>> read_format=15
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> >>> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> >>> [event15:base-stat]
> >>> fd=15
> >>> group_fd=11
> >>> type=4
> >>> -config=33536
> >>> +config=33024
> >>> disabled=0
> >>> enable_on_exec=0
> >>> read_format=15
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> >>> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
> >>> [event16:base-stat]
> >>> fd=16
> >>> -group_fd=11
> >>> type=4
> >>> -config=33792
> >>> -disabled=0
> >>> -enable_on_exec=0
> >>> -read_format=15
> >>> +config=4109
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> >>> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
> >>> [event17:base-stat]
> >>> fd=17
> >>> -group_fd=11
> >>> type=4
> >>> -config=34048
> >>> -disabled=0
> >>> -enable_on_exec=0
> >>> -read_format=15
> >>> +config=17039629
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> >>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
> >>> [event18:base-stat]
> >>> fd=18
> >>> -group_fd=11
> >>> type=4
> >>> -config=34304
> >>> -disabled=0
> >>> -enable_on_exec=0
> >>> -read_format=15
> >>> +config=60
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> >>> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
> >>> [event19:base-stat]
> >>> fd=19
> >>> -group_fd=11
> >>> type=4
> >>> -config=34560
> >>> -disabled=0
> >>> -enable_on_exec=0
> >>> -read_format=15
> >>> +config=2097421
> >>> +optional=1
> >>> +
> >>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
> >>> +[event20:base-stat]
> >>> +fd=20
> >>> +type=4
> >>> +config=316
> >>> +optional=1
> >>> +
> >>> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
> >>> +[event21:base-stat]
> >>> +fd=21
> >>> +type=4
> >>> +config=412
> >>> +optional=1
> >>> +
> >>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
> >>> +[event22:base-stat]
> >>> +fd=22
> >>> +type=4
> >>> +config=572
> >>> +optional=1
> >>> +
> >>> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
> >>> +[event23:base-stat]
> >>> +fd=23
> >>> +type=4
> >>> +config=706
> >>> +optional=1
> >>> +
> >>> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
> >>> +[event24:base-stat]
> >>> +fd=24
> >>> +type=4
> >>> +config=270
> >>> optional=1
> >>>
> >>> # PERF_TYPE_HW_CACHE /
> >>> # PERF_COUNT_HW_CACHE_L1D << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> >>> -[event20:base-stat]
> >>> -fd=20
> >>> +[event25:base-stat]
> >>> +fd=25
> >>> type=3
> >>> config=0
> >>> optional=1
> >>> @@ -181,8 +200,8 @@ optional=1
> >>> # PERF_COUNT_HW_CACHE_L1D << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> >>> -[event21:base-stat]
> >>> -fd=21
> >>> +[event26:base-stat]
> >>> +fd=26
> >>> type=3
> >>> config=65536
> >>> optional=1
> >>> @@ -191,8 +210,8 @@ optional=1
> >>> # PERF_COUNT_HW_CACHE_LL << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> >>> -[event22:base-stat]
> >>> -fd=22
> >>> +[event27:base-stat]
> >>> +fd=27
> >>> type=3
> >>> config=2
> >>> optional=1
> >>> @@ -201,8 +220,8 @@ optional=1
> >>> # PERF_COUNT_HW_CACHE_LL << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> >>> -[event23:base-stat]
> >>> -fd=23
> >>> +[event28:base-stat]
> >>> +fd=28
> >>> type=3
> >>> config=65538
> >>> optional=1
> >>> @@ -211,8 +230,8 @@ optional=1
> >>> # PERF_COUNT_HW_CACHE_L1I << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> >>> -[event24:base-stat]
> >>> -fd=24
> >>> +[event29:base-stat]
> >>> +fd=29
> >>> type=3
> >>> config=1
> >>> optional=1
> >>> @@ -221,8 +240,8 @@ optional=1
> >>> # PERF_COUNT_HW_CACHE_L1I << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> >>> -[event25:base-stat]
> >>> -fd=25
> >>> +[event30:base-stat]
> >>> +fd=30
> >>> type=3
> >>> config=65537
> >>> optional=1
> >>> @@ -231,8 +250,8 @@ optional=1
> >>> # PERF_COUNT_HW_CACHE_DTLB << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> >>> -[event26:base-stat]
> >>> -fd=26
> >>> +[event31:base-stat]
> >>> +fd=31
> >>> type=3
> >>> config=3
> >>> optional=1
> >>> @@ -241,8 +260,8 @@ optional=1
> >>> # PERF_COUNT_HW_CACHE_DTLB << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> >>> -[event27:base-stat]
> >>> -fd=27
> >>> +[event32:base-stat]
> >>> +fd=32
> >>> type=3
> >>> config=65539
> >>> optional=1
> >>> @@ -251,8 +270,8 @@ optional=1
> >>> # PERF_COUNT_HW_CACHE_ITLB << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> >>> -[event28:base-stat]
> >>> -fd=28
> >>> +[event33:base-stat]
> >>> +fd=33
> >>> type=3
> >>> config=4
> >>> optional=1
> >>> @@ -261,8 +280,8 @@ optional=1
> >>> # PERF_COUNT_HW_CACHE_ITLB << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> >>> -[event29:base-stat]
> >>> -fd=29
> >>> +[event34:base-stat]
> >>> +fd=34
> >>> type=3
> >>> config=65540
> >>> optional=1
> >>> diff --git a/tools/perf/tests/attr/test-stat-detailed-3 b/tools/perf/tests/attr/test-stat-detailed-3
> >>> index d555042e3fbf..e50535f45977 100644
> >>> --- a/tools/perf/tests/attr/test-stat-detailed-3
> >>> +++ b/tools/perf/tests/attr/test-stat-detailed-3
> >>> @@ -90,89 +90,108 @@ enable_on_exec=0
> >>> read_format=15
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> >>> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> >>> [event13:base-stat]
> >>> fd=13
> >>> group_fd=11
> >>> type=4
> >>> -config=33024
> >>> +config=33280
> >>> disabled=0
> >>> enable_on_exec=0
> >>> read_format=15
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> >>> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> >>> [event14:base-stat]
> >>> fd=14
> >>> group_fd=11
> >>> type=4
> >>> -config=33280
> >>> +config=33536
> >>> disabled=0
> >>> enable_on_exec=0
> >>> read_format=15
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> >>> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> >>> [event15:base-stat]
> >>> fd=15
> >>> group_fd=11
> >>> type=4
> >>> -config=33536
> >>> +config=33024
> >>> disabled=0
> >>> enable_on_exec=0
> >>> read_format=15
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> >>> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
> >>> [event16:base-stat]
> >>> fd=16
> >>> -group_fd=11
> >>> type=4
> >>> -config=33792
> >>> -disabled=0
> >>> -enable_on_exec=0
> >>> -read_format=15
> >>> +config=4109
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> >>> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
> >>> [event17:base-stat]
> >>> fd=17
> >>> -group_fd=11
> >>> type=4
> >>> -config=34048
> >>> -disabled=0
> >>> -enable_on_exec=0
> >>> -read_format=15
> >>> +config=17039629
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> >>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
> >>> [event18:base-stat]
> >>> fd=18
> >>> -group_fd=11
> >>> type=4
> >>> -config=34304
> >>> -disabled=0
> >>> -enable_on_exec=0
> >>> -read_format=15
> >>> +config=60
> >>> optional=1
> >>>
> >>> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> >>> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
> >>> [event19:base-stat]
> >>> fd=19
> >>> -group_fd=11
> >>> type=4
> >>> -config=34560
> >>> -disabled=0
> >>> -enable_on_exec=0
> >>> -read_format=15
> >>> +config=2097421
> >>> +optional=1
> >>> +
> >>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
> >>> +[event20:base-stat]
> >>> +fd=20
> >>> +type=4
> >>> +config=316
> >>> +optional=1
> >>> +
> >>> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
> >>> +[event21:base-stat]
> >>> +fd=21
> >>> +type=4
> >>> +config=412
> >>> +optional=1
> >>> +
> >>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
> >>> +[event22:base-stat]
> >>> +fd=22
> >>> +type=4
> >>> +config=572
> >>> +optional=1
> >>> +
> >>> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
> >>> +[event23:base-stat]
> >>> +fd=23
> >>> +type=4
> >>> +config=706
> >>> +optional=1
> >>> +
> >>> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
> >>> +[event24:base-stat]
> >>> +fd=24
> >>> +type=4
> >>> +config=270
> >>> optional=1
> >>>
> >>> # PERF_TYPE_HW_CACHE /
> >>> # PERF_COUNT_HW_CACHE_L1D << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> >>> -[event20:base-stat]
> >>> -fd=20
> >>> +[event25:base-stat]
> >>> +fd=25
> >>> type=3
> >>> config=0
> >>> optional=1
> >>> @@ -181,8 +200,8 @@ optional=1
> >>> # PERF_COUNT_HW_CACHE_L1D << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> >>> -[event21:base-stat]
> >>> -fd=21
> >>> +[event26:base-stat]
> >>> +fd=26
> >>> type=3
> >>> config=65536
> >>> optional=1
> >>> @@ -191,8 +210,8 @@ optional=1
> >>> # PERF_COUNT_HW_CACHE_LL << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> >>> -[event22:base-stat]
> >>> -fd=22
> >>> +[event27:base-stat]
> >>> +fd=27
> >>> type=3
> >>> config=2
> >>> optional=1
> >>> @@ -201,8 +220,8 @@ optional=1
> >>> # PERF_COUNT_HW_CACHE_LL << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> >>> -[event23:base-stat]
> >>> -fd=23
> >>> +[event28:base-stat]
> >>> +fd=28
> >>> type=3
> >>> config=65538
> >>> optional=1
> >>> @@ -211,8 +230,8 @@ optional=1
> >>> # PERF_COUNT_HW_CACHE_L1I << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> >>> -[event24:base-stat]
> >>> -fd=24
> >>> +[event29:base-stat]
> >>> +fd=29
> >>> type=3
> >>> config=1
> >>> optional=1
> >>> @@ -221,8 +240,8 @@ optional=1
> >>> # PERF_COUNT_HW_CACHE_L1I << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> >>> -[event25:base-stat]
> >>> -fd=25
> >>> +[event30:base-stat]
> >>> +fd=30
> >>> type=3
> >>> config=65537
> >>> optional=1
> >>> @@ -231,8 +250,8 @@ optional=1
> >>> # PERF_COUNT_HW_CACHE_DTLB << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> >>> -[event26:base-stat]
> >>> -fd=26
> >>> +[event31:base-stat]
> >>> +fd=31
> >>> type=3
> >>> config=3
> >>> optional=1
> >>> @@ -241,8 +260,8 @@ optional=1
> >>> # PERF_COUNT_HW_CACHE_DTLB << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> >>> -[event27:base-stat]
> >>> -fd=27
> >>> +[event32:base-stat]
> >>> +fd=32
> >>> type=3
> >>> config=65539
> >>> optional=1
> >>> @@ -251,8 +270,8 @@ optional=1
> >>> # PERF_COUNT_HW_CACHE_ITLB << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> >>> -[event28:base-stat]
> >>> -fd=28
> >>> +[event33:base-stat]
> >>> +fd=33
> >>> type=3
> >>> config=4
> >>> optional=1
> >>> @@ -261,8 +280,8 @@ optional=1
> >>> # PERF_COUNT_HW_CACHE_ITLB << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> >>> -[event29:base-stat]
> >>> -fd=29
> >>> +[event34:base-stat]
> >>> +fd=34
> >>> type=3
> >>> config=65540
> >>> optional=1
> >>> @@ -271,8 +290,8 @@ optional=1
> >>> # PERF_COUNT_HW_CACHE_L1D << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> >>> -[event30:base-stat]
> >>> -fd=30
> >>> +[event35:base-stat]
> >>> +fd=35
> >>> type=3
> >>> config=512
> >>> optional=1
> >>> @@ -281,8 +300,8 @@ optional=1
> >>> # PERF_COUNT_HW_CACHE_L1D << 0 |
> >>> # (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
> >>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> >>> -[event31:base-stat]
> >>> -fd=31
> >>> +[event36:base-stat]
> >>> +fd=36
> >>> type=3
> >>> config=66048
> >>> optional=1
Hi Arnaldo,
On 2023-05-18 8:55 a.m., Liang, Kan wrote:
> On 2023-05-18 8:20 a.m., Arnaldo Carvalho de Melo wrote:
>> Em Thu, May 18, 2023 at 08:50:14AM +0100, James Clark escreveu:
>>>
>>> On 17/05/2023 23:57, Ian Rogers wrote:
>>>> Previously hard coded events/metrics were used, update for the use of
>>>> the TopdownL1 json metric group.
>>>>
>>>> Fixes: 94b1a603fca7 ("perf stat: Add TopdownL1 metric as a default if present")
>>>> Signed-off-by: Ian Rogers <[email protected]>
>>>> ---
>>>> tools/perf/tests/attr/base-stat | 2 +-
>>>> tools/perf/tests/attr/test-stat-default | 80 ++++++++-----
>>>> tools/perf/tests/attr/test-stat-detailed-1 | 95 +++++++++------
>>>> tools/perf/tests/attr/test-stat-detailed-2 | 119 +++++++++++--------
>>>> tools/perf/tests/attr/test-stat-detailed-3 | 127 ++++++++++++---------
>>>> 5 files changed, 249 insertions(+), 174 deletions(-)
>>>>
>>> Reviewed-by: James Clark <[email protected]>
>> Thanks, applied both patches to perf-tools.
>>
> Could you please hold patch 1 for a while?
Sorry for the noise.
Ian has addressed my concerns. The patch looks good to me now.
It also fixes a "Failed" on my Cascade Lake machine.
Tested-by: Kan Liang <[email protected]>
But for long term, we probably need a better solution to avoid keeping
adding such non-architectural events in the test case.
Thanks,
Kan
On 2023-05-18 12:36 p.m., Ian Rogers wrote:
> On Thu, May 18, 2023 at 7:40 AM Liang, Kan <[email protected]> wrote:
>>
>>
>>
>> On 2023-05-18 10:10 a.m., Ian Rogers wrote:
>>> On Thu, May 18, 2023 at 6:01 AM Liang, Kan <[email protected]> wrote:
>>>>
>>>>
>>>>
>>>> On 2023-05-17 6:57 p.m., Ian Rogers wrote:
>>>>> Previously hard coded events/metrics were used, update for the use of
>>>>> the TopdownL1 json metric group.
>>>>>
>>>>> Fixes: 94b1a603fca7 ("perf stat: Add TopdownL1 metric as a default if present")
>>>>> Signed-off-by: Ian Rogers <[email protected]>
>>>>> ---
>>>>> tools/perf/tests/attr/base-stat | 2 +-
>>>>> tools/perf/tests/attr/test-stat-default | 80 ++++++++-----
>>>>> tools/perf/tests/attr/test-stat-detailed-1 | 95 +++++++++------
>>>>> tools/perf/tests/attr/test-stat-detailed-2 | 119 +++++++++++--------
>>>>> tools/perf/tests/attr/test-stat-detailed-3 | 127 ++++++++++++---------
>>>>> 5 files changed, 249 insertions(+), 174 deletions(-)
>>>>>
>>>>> diff --git a/tools/perf/tests/attr/base-stat b/tools/perf/tests/attr/base-stat
>>>>> index a21fb65bc012..fccd8ec4d1b0 100644
>>>>> --- a/tools/perf/tests/attr/base-stat
>>>>> +++ b/tools/perf/tests/attr/base-stat
>>>>> @@ -16,7 +16,7 @@ pinned=0
>>>>> exclusive=0
>>>>> exclude_user=0
>>>>> exclude_kernel=0|1
>>>>> -exclude_hv=0
>>>>> +exclude_hv=0|1
>>>>> exclude_idle=0
>>>>> mmap=0
>>>>> comm=0
>>>>> diff --git a/tools/perf/tests/attr/test-stat-default b/tools/perf/tests/attr/test-stat-default
>>>>> index d8ea6a88163f..a1e2da0a9a6d 100644
>>>>> --- a/tools/perf/tests/attr/test-stat-default
>>>>> +++ b/tools/perf/tests/attr/test-stat-default
>>>>> @@ -40,7 +40,6 @@ fd=6
>>>>> type=0
>>>>> config=7
>>>>> optional=1
>>>>> -
>>>>> # PERF_TYPE_HARDWARE / PERF_COUNT_HW_STALLED_CYCLES_BACKEND
>>>>> [event7:base-stat]
>>>>> fd=7
>>>>> @@ -89,79 +88,98 @@ enable_on_exec=0
>>>>> read_format=15
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>>>> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>>>> [event13:base-stat]
>>>>> fd=13
>>>>> group_fd=11
>>>>> type=4
>>>>> -config=33024
>>>>> +config=33280
>>>>> disabled=0
>>>>> enable_on_exec=0
>>>>> read_format=15
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>>>> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>>>> [event14:base-stat]
>>>>> fd=14
>>>>> group_fd=11
>>>>> type=4
>>>>> -config=33280
>>>>> +config=33536
>>>>> disabled=0
>>>>> enable_on_exec=0
>>>>> read_format=15
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>>>> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>>>> [event15:base-stat]
>>>>> fd=15
>>>>> group_fd=11
>>>>> type=4
>>>>> -config=33536
>>>>> +config=33024
>>>>> disabled=0
>>>>> enable_on_exec=0
>>>>> read_format=15
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
>>>>> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
>>>>> [event16:base-stat]
>>>>> fd=16
>>>>> -group_fd=11
>>>>> type=4
>>>>> -config=33792
>>>>> -disabled=0
>>>>> -enable_on_exec=0
>>>>> -read_format=15
>>>>> +config=4109
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
>>>>> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
>>>>> [event17:base-stat]
>>>>> fd=17
>>>>> -group_fd=11
>>>>> type=4
>>>>> -config=34048
>>>>> -disabled=0
>>>>> -enable_on_exec=0
>>>>> -read_format=15
>>>>> +config=17039629
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
>>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
>>>>> [event18:base-stat]
>>>>> fd=18
>>>>> -group_fd=11
>>>>> type=4
>>>>> -config=34304
>>>>> -disabled=0
>>>>> -enable_on_exec=0
>>>>> -read_format=15
>>>>> +config=60
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
>>>>> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
>>>>> [event19:base-stat]
>>>>> fd=19
>>>>> -group_fd=11
>>>>> type=4
>>>>> -config=34560
>>>>> -disabled=0
>>>>> -enable_on_exec=0
>>>>> -read_format=15
>>>>> +config=2097421
>>>>> +optional=1
>>>>> +
>>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
>>>>> +[event20:base-stat]
>>>>> +fd=20
>>>>> +type=4
>>>>> +config=316
>>>>> +optional=1
>>>>> +
>>>>> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
>>>>> +[event21:base-stat]
>>>>> +fd=21
>>>>> +type=4
>>>>> +config=412
>>>>> +optional=1
>>>>> +
>>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
>>>>> +[event22:base-stat]
>>>>> +fd=22
>>>>> +type=4
>>>>> +config=572
>>>>> +optional=1
>>>>> +
>>>>> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
>>>>
>>>>
>>>> Most of the newly added events are non-architectural events. The event
>>>> name and the encoding could be changed later. I don't think it's a good
>>>> idea to hard code them in the test. Could we read the TopdownL1 metrics,
>>>> get a event list at runtime, and then only test those events?
>>>
>>> Not really, this test fix is targeting 6.4 which shouldn't be a moving
>>> target. We can do something better in 6.5.
>> What's the problem the patch trying to fix? Is it user visiable? Does
>> the perf test fail?
>>
>> I want to understand why we need such temporary fix.
>
> So the test has issues, we should fix these perhaps by making the
> wrapper a shell test, as these lack the robustness issues. On my
> Skylake testing had yielded "Skip" and my Tigerlake testing had
> yielded "Ok" but if I altered my directory it changed to "Failed".
> Arnaldo discovered the issue in recent testing and asked me to take a
> look.
Yes, I can see the "Failed" on one of my machine now.
>
>>>
>>> Fwiw, on hybrid you get events on 2 PMUs, possibly with the PMU type
>>> encoded in the high part of the config. Let's see how hybrid dealt
>>> with this test:
>>> https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/tree/tools/perf/tests/attr.c?h=perf-tools#n188
>>> Oh.
>>>
>>
>> If we don't know how to handle the hybrid, we can skip the test cases.
>> We can add a specific case later in platform specifc test cases. I don't
>> see any problem here.
>>
>> The temporary fix may not work for all the generations, especially for
>> the future generations. It's very likely that we still run 6.4 on a
>> future platform with a different formula. Then it may bring problems, no?
>
> No, because we're using json encoded metrics and events which are
> built into the perf tool. When we map the cpuid for the future
> generation CPU to the json we'll not find anything. This test marks
> the events as optional, they aren't present on ARM and AMD, and vary
> across Intel models, so the test will still pass as the optional
> events weren't programmed and it doesn't matter that the optional
> events weren't found. If the upstream json events/metrics change then
> it won't affect the json built into the tool and assumed by the test,
> so again the test won't break.
Right, the default depends on the JSON metric now. It should not be
available on the new platforms unless we update the tool. Those
non-architetural events can be ignored.
The only problem is that we have to keep updating the test once the
formular is changed. If so, I agree that the improvement can be done
later separately.
Thanks,
Kan
>
> Fwiw, were sysfs events being used then this test is more brittle as
> the tool and kernel releases aren't obviously aligned. We could get
> the test to break by mixing the version of the test with the version
> of the perf tool ¯\_(ツ)_/¯.
>
> Thanks,
> Ian
>
>> Thanks,
>> Kan
>>
>>> Thanks,
>>> Ian
>>>
>>>> Thanks,
>>>> Kan
>>>>
>>>>> +[event23:base-stat]
>>>>> +fd=23
>>>>> +type=4
>>>>> +config=706
>>>>> +optional=1
>>>>> +
>>>>> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
>>>>> +[event24:base-stat]
>>>>> +fd=24
>>>>> +type=4
>>>>> +config=270
>>>>> optional=1
>>>>> diff --git a/tools/perf/tests/attr/test-stat-detailed-1 b/tools/perf/tests/attr/test-stat-detailed-1
>>>>> index b656ab93c5bf..1c52cb05c900 100644
>>>>> --- a/tools/perf/tests/attr/test-stat-detailed-1
>>>>> +++ b/tools/perf/tests/attr/test-stat-detailed-1
>>>>> @@ -90,89 +90,108 @@ enable_on_exec=0
>>>>> read_format=15
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>>>> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>>>> [event13:base-stat]
>>>>> fd=13
>>>>> group_fd=11
>>>>> type=4
>>>>> -config=33024
>>>>> +config=33280
>>>>> disabled=0
>>>>> enable_on_exec=0
>>>>> read_format=15
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>>>> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>>>> [event14:base-stat]
>>>>> fd=14
>>>>> group_fd=11
>>>>> type=4
>>>>> -config=33280
>>>>> +config=33536
>>>>> disabled=0
>>>>> enable_on_exec=0
>>>>> read_format=15
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>>>> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>>>> [event15:base-stat]
>>>>> fd=15
>>>>> group_fd=11
>>>>> type=4
>>>>> -config=33536
>>>>> +config=33024
>>>>> disabled=0
>>>>> enable_on_exec=0
>>>>> read_format=15
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
>>>>> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
>>>>> [event16:base-stat]
>>>>> fd=16
>>>>> -group_fd=11
>>>>> type=4
>>>>> -config=33792
>>>>> -disabled=0
>>>>> -enable_on_exec=0
>>>>> -read_format=15
>>>>> +config=4109
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
>>>>> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
>>>>> [event17:base-stat]
>>>>> fd=17
>>>>> -group_fd=11
>>>>> type=4
>>>>> -config=34048
>>>>> -disabled=0
>>>>> -enable_on_exec=0
>>>>> -read_format=15
>>>>> +config=17039629
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
>>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
>>>>> [event18:base-stat]
>>>>> fd=18
>>>>> -group_fd=11
>>>>> type=4
>>>>> -config=34304
>>>>> -disabled=0
>>>>> -enable_on_exec=0
>>>>> -read_format=15
>>>>> +config=60
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
>>>>> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
>>>>> [event19:base-stat]
>>>>> fd=19
>>>>> -group_fd=11
>>>>> type=4
>>>>> -config=34560
>>>>> -disabled=0
>>>>> -enable_on_exec=0
>>>>> -read_format=15
>>>>> +config=2097421
>>>>> +optional=1
>>>>> +
>>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
>>>>> +[event20:base-stat]
>>>>> +fd=20
>>>>> +type=4
>>>>> +config=316
>>>>> +optional=1
>>>>> +
>>>>> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
>>>>> +[event21:base-stat]
>>>>> +fd=21
>>>>> +type=4
>>>>> +config=412
>>>>> +optional=1
>>>>> +
>>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
>>>>> +[event22:base-stat]
>>>>> +fd=22
>>>>> +type=4
>>>>> +config=572
>>>>> +optional=1
>>>>> +
>>>>> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
>>>>> +[event23:base-stat]
>>>>> +fd=23
>>>>> +type=4
>>>>> +config=706
>>>>> +optional=1
>>>>> +
>>>>> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
>>>>> +[event24:base-stat]
>>>>> +fd=24
>>>>> +type=4
>>>>> +config=270
>>>>> optional=1
>>>>>
>>>>> # PERF_TYPE_HW_CACHE /
>>>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>>>> -[event20:base-stat]
>>>>> -fd=20
>>>>> +[event25:base-stat]
>>>>> +fd=25
>>>>> type=3
>>>>> config=0
>>>>> optional=1
>>>>> @@ -181,8 +200,8 @@ optional=1
>>>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>>>> -[event21:base-stat]
>>>>> -fd=21
>>>>> +[event26:base-stat]
>>>>> +fd=26
>>>>> type=3
>>>>> config=65536
>>>>> optional=1
>>>>> @@ -191,8 +210,8 @@ optional=1
>>>>> # PERF_COUNT_HW_CACHE_LL << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>>>> -[event22:base-stat]
>>>>> -fd=22
>>>>> +[event27:base-stat]
>>>>> +fd=27
>>>>> type=3
>>>>> config=2
>>>>> optional=1
>>>>> @@ -201,8 +220,8 @@ optional=1
>>>>> # PERF_COUNT_HW_CACHE_LL << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>>>> -[event23:base-stat]
>>>>> -fd=23
>>>>> +[event28:base-stat]
>>>>> +fd=28
>>>>> type=3
>>>>> config=65538
>>>>> optional=1
>>>>> diff --git a/tools/perf/tests/attr/test-stat-detailed-2 b/tools/perf/tests/attr/test-stat-detailed-2
>>>>> index 97625090a1c4..7e961d24a885 100644
>>>>> --- a/tools/perf/tests/attr/test-stat-detailed-2
>>>>> +++ b/tools/perf/tests/attr/test-stat-detailed-2
>>>>> @@ -90,89 +90,108 @@ enable_on_exec=0
>>>>> read_format=15
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>>>> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>>>> [event13:base-stat]
>>>>> fd=13
>>>>> group_fd=11
>>>>> type=4
>>>>> -config=33024
>>>>> +config=33280
>>>>> disabled=0
>>>>> enable_on_exec=0
>>>>> read_format=15
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>>>> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>>>> [event14:base-stat]
>>>>> fd=14
>>>>> group_fd=11
>>>>> type=4
>>>>> -config=33280
>>>>> +config=33536
>>>>> disabled=0
>>>>> enable_on_exec=0
>>>>> read_format=15
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>>>> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>>>> [event15:base-stat]
>>>>> fd=15
>>>>> group_fd=11
>>>>> type=4
>>>>> -config=33536
>>>>> +config=33024
>>>>> disabled=0
>>>>> enable_on_exec=0
>>>>> read_format=15
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
>>>>> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
>>>>> [event16:base-stat]
>>>>> fd=16
>>>>> -group_fd=11
>>>>> type=4
>>>>> -config=33792
>>>>> -disabled=0
>>>>> -enable_on_exec=0
>>>>> -read_format=15
>>>>> +config=4109
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
>>>>> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
>>>>> [event17:base-stat]
>>>>> fd=17
>>>>> -group_fd=11
>>>>> type=4
>>>>> -config=34048
>>>>> -disabled=0
>>>>> -enable_on_exec=0
>>>>> -read_format=15
>>>>> +config=17039629
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
>>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
>>>>> [event18:base-stat]
>>>>> fd=18
>>>>> -group_fd=11
>>>>> type=4
>>>>> -config=34304
>>>>> -disabled=0
>>>>> -enable_on_exec=0
>>>>> -read_format=15
>>>>> +config=60
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
>>>>> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
>>>>> [event19:base-stat]
>>>>> fd=19
>>>>> -group_fd=11
>>>>> type=4
>>>>> -config=34560
>>>>> -disabled=0
>>>>> -enable_on_exec=0
>>>>> -read_format=15
>>>>> +config=2097421
>>>>> +optional=1
>>>>> +
>>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
>>>>> +[event20:base-stat]
>>>>> +fd=20
>>>>> +type=4
>>>>> +config=316
>>>>> +optional=1
>>>>> +
>>>>> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
>>>>> +[event21:base-stat]
>>>>> +fd=21
>>>>> +type=4
>>>>> +config=412
>>>>> +optional=1
>>>>> +
>>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
>>>>> +[event22:base-stat]
>>>>> +fd=22
>>>>> +type=4
>>>>> +config=572
>>>>> +optional=1
>>>>> +
>>>>> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
>>>>> +[event23:base-stat]
>>>>> +fd=23
>>>>> +type=4
>>>>> +config=706
>>>>> +optional=1
>>>>> +
>>>>> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
>>>>> +[event24:base-stat]
>>>>> +fd=24
>>>>> +type=4
>>>>> +config=270
>>>>> optional=1
>>>>>
>>>>> # PERF_TYPE_HW_CACHE /
>>>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>>>> -[event20:base-stat]
>>>>> -fd=20
>>>>> +[event25:base-stat]
>>>>> +fd=25
>>>>> type=3
>>>>> config=0
>>>>> optional=1
>>>>> @@ -181,8 +200,8 @@ optional=1
>>>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>>>> -[event21:base-stat]
>>>>> -fd=21
>>>>> +[event26:base-stat]
>>>>> +fd=26
>>>>> type=3
>>>>> config=65536
>>>>> optional=1
>>>>> @@ -191,8 +210,8 @@ optional=1
>>>>> # PERF_COUNT_HW_CACHE_LL << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>>>> -[event22:base-stat]
>>>>> -fd=22
>>>>> +[event27:base-stat]
>>>>> +fd=27
>>>>> type=3
>>>>> config=2
>>>>> optional=1
>>>>> @@ -201,8 +220,8 @@ optional=1
>>>>> # PERF_COUNT_HW_CACHE_LL << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>>>> -[event23:base-stat]
>>>>> -fd=23
>>>>> +[event28:base-stat]
>>>>> +fd=28
>>>>> type=3
>>>>> config=65538
>>>>> optional=1
>>>>> @@ -211,8 +230,8 @@ optional=1
>>>>> # PERF_COUNT_HW_CACHE_L1I << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>>>> -[event24:base-stat]
>>>>> -fd=24
>>>>> +[event29:base-stat]
>>>>> +fd=29
>>>>> type=3
>>>>> config=1
>>>>> optional=1
>>>>> @@ -221,8 +240,8 @@ optional=1
>>>>> # PERF_COUNT_HW_CACHE_L1I << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>>>> -[event25:base-stat]
>>>>> -fd=25
>>>>> +[event30:base-stat]
>>>>> +fd=30
>>>>> type=3
>>>>> config=65537
>>>>> optional=1
>>>>> @@ -231,8 +250,8 @@ optional=1
>>>>> # PERF_COUNT_HW_CACHE_DTLB << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>>>> -[event26:base-stat]
>>>>> -fd=26
>>>>> +[event31:base-stat]
>>>>> +fd=31
>>>>> type=3
>>>>> config=3
>>>>> optional=1
>>>>> @@ -241,8 +260,8 @@ optional=1
>>>>> # PERF_COUNT_HW_CACHE_DTLB << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>>>> -[event27:base-stat]
>>>>> -fd=27
>>>>> +[event32:base-stat]
>>>>> +fd=32
>>>>> type=3
>>>>> config=65539
>>>>> optional=1
>>>>> @@ -251,8 +270,8 @@ optional=1
>>>>> # PERF_COUNT_HW_CACHE_ITLB << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>>>> -[event28:base-stat]
>>>>> -fd=28
>>>>> +[event33:base-stat]
>>>>> +fd=33
>>>>> type=3
>>>>> config=4
>>>>> optional=1
>>>>> @@ -261,8 +280,8 @@ optional=1
>>>>> # PERF_COUNT_HW_CACHE_ITLB << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>>>> -[event29:base-stat]
>>>>> -fd=29
>>>>> +[event34:base-stat]
>>>>> +fd=34
>>>>> type=3
>>>>> config=65540
>>>>> optional=1
>>>>> diff --git a/tools/perf/tests/attr/test-stat-detailed-3 b/tools/perf/tests/attr/test-stat-detailed-3
>>>>> index d555042e3fbf..e50535f45977 100644
>>>>> --- a/tools/perf/tests/attr/test-stat-detailed-3
>>>>> +++ b/tools/perf/tests/attr/test-stat-detailed-3
>>>>> @@ -90,89 +90,108 @@ enable_on_exec=0
>>>>> read_format=15
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>>>> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>>>> [event13:base-stat]
>>>>> fd=13
>>>>> group_fd=11
>>>>> type=4
>>>>> -config=33024
>>>>> +config=33280
>>>>> disabled=0
>>>>> enable_on_exec=0
>>>>> read_format=15
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
>>>>> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>>>> [event14:base-stat]
>>>>> fd=14
>>>>> group_fd=11
>>>>> type=4
>>>>> -config=33280
>>>>> +config=33536
>>>>> disabled=0
>>>>> enable_on_exec=0
>>>>> read_format=15
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-be-bound (0x8300)
>>>>> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
>>>>> [event15:base-stat]
>>>>> fd=15
>>>>> group_fd=11
>>>>> type=4
>>>>> -config=33536
>>>>> +config=33024
>>>>> disabled=0
>>>>> enable_on_exec=0
>>>>> read_format=15
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
>>>>> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING
>>>>> [event16:base-stat]
>>>>> fd=16
>>>>> -group_fd=11
>>>>> type=4
>>>>> -config=33792
>>>>> -disabled=0
>>>>> -enable_on_exec=0
>>>>> -read_format=15
>>>>> +config=4109
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
>>>>> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/
>>>>> [event17:base-stat]
>>>>> fd=17
>>>>> -group_fd=11
>>>>> type=4
>>>>> -config=34048
>>>>> -disabled=0
>>>>> -enable_on_exec=0
>>>>> -read_format=15
>>>>> +config=17039629
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
>>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD
>>>>> [event18:base-stat]
>>>>> fd=18
>>>>> -group_fd=11
>>>>> type=4
>>>>> -config=34304
>>>>> -disabled=0
>>>>> -enable_on_exec=0
>>>>> -read_format=15
>>>>> +config=60
>>>>> optional=1
>>>>>
>>>>> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
>>>>> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY
>>>>> [event19:base-stat]
>>>>> fd=19
>>>>> -group_fd=11
>>>>> type=4
>>>>> -config=34560
>>>>> -disabled=0
>>>>> -enable_on_exec=0
>>>>> -read_format=15
>>>>> +config=2097421
>>>>> +optional=1
>>>>> +
>>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK
>>>>> +[event20:base-stat]
>>>>> +fd=20
>>>>> +type=4
>>>>> +config=316
>>>>> +optional=1
>>>>> +
>>>>> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE
>>>>> +[event21:base-stat]
>>>>> +fd=21
>>>>> +type=4
>>>>> +config=412
>>>>> +optional=1
>>>>> +
>>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE
>>>>> +[event22:base-stat]
>>>>> +fd=22
>>>>> +type=4
>>>>> +config=572
>>>>> +optional=1
>>>>> +
>>>>> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS
>>>>> +[event23:base-stat]
>>>>> +fd=23
>>>>> +type=4
>>>>> +config=706
>>>>> +optional=1
>>>>> +
>>>>> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY
>>>>> +[event24:base-stat]
>>>>> +fd=24
>>>>> +type=4
>>>>> +config=270
>>>>> optional=1
>>>>>
>>>>> # PERF_TYPE_HW_CACHE /
>>>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>>>> -[event20:base-stat]
>>>>> -fd=20
>>>>> +[event25:base-stat]
>>>>> +fd=25
>>>>> type=3
>>>>> config=0
>>>>> optional=1
>>>>> @@ -181,8 +200,8 @@ optional=1
>>>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>>>> -[event21:base-stat]
>>>>> -fd=21
>>>>> +[event26:base-stat]
>>>>> +fd=26
>>>>> type=3
>>>>> config=65536
>>>>> optional=1
>>>>> @@ -191,8 +210,8 @@ optional=1
>>>>> # PERF_COUNT_HW_CACHE_LL << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>>>> -[event22:base-stat]
>>>>> -fd=22
>>>>> +[event27:base-stat]
>>>>> +fd=27
>>>>> type=3
>>>>> config=2
>>>>> optional=1
>>>>> @@ -201,8 +220,8 @@ optional=1
>>>>> # PERF_COUNT_HW_CACHE_LL << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>>>> -[event23:base-stat]
>>>>> -fd=23
>>>>> +[event28:base-stat]
>>>>> +fd=28
>>>>> type=3
>>>>> config=65538
>>>>> optional=1
>>>>> @@ -211,8 +230,8 @@ optional=1
>>>>> # PERF_COUNT_HW_CACHE_L1I << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>>>> -[event24:base-stat]
>>>>> -fd=24
>>>>> +[event29:base-stat]
>>>>> +fd=29
>>>>> type=3
>>>>> config=1
>>>>> optional=1
>>>>> @@ -221,8 +240,8 @@ optional=1
>>>>> # PERF_COUNT_HW_CACHE_L1I << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>>>> -[event25:base-stat]
>>>>> -fd=25
>>>>> +[event30:base-stat]
>>>>> +fd=30
>>>>> type=3
>>>>> config=65537
>>>>> optional=1
>>>>> @@ -231,8 +250,8 @@ optional=1
>>>>> # PERF_COUNT_HW_CACHE_DTLB << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>>>> -[event26:base-stat]
>>>>> -fd=26
>>>>> +[event31:base-stat]
>>>>> +fd=31
>>>>> type=3
>>>>> config=3
>>>>> optional=1
>>>>> @@ -241,8 +260,8 @@ optional=1
>>>>> # PERF_COUNT_HW_CACHE_DTLB << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>>>> -[event27:base-stat]
>>>>> -fd=27
>>>>> +[event32:base-stat]
>>>>> +fd=32
>>>>> type=3
>>>>> config=65539
>>>>> optional=1
>>>>> @@ -251,8 +270,8 @@ optional=1
>>>>> # PERF_COUNT_HW_CACHE_ITLB << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>>>> -[event28:base-stat]
>>>>> -fd=28
>>>>> +[event33:base-stat]
>>>>> +fd=33
>>>>> type=3
>>>>> config=4
>>>>> optional=1
>>>>> @@ -261,8 +280,8 @@ optional=1
>>>>> # PERF_COUNT_HW_CACHE_ITLB << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>>>> -[event29:base-stat]
>>>>> -fd=29
>>>>> +[event34:base-stat]
>>>>> +fd=34
>>>>> type=3
>>>>> config=65540
>>>>> optional=1
>>>>> @@ -271,8 +290,8 @@ optional=1
>>>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
>>>>> -[event30:base-stat]
>>>>> -fd=30
>>>>> +[event35:base-stat]
>>>>> +fd=35
>>>>> type=3
>>>>> config=512
>>>>> optional=1
>>>>> @@ -281,8 +300,8 @@ optional=1
>>>>> # PERF_COUNT_HW_CACHE_L1D << 0 |
>>>>> # (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
>>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
>>>>> -[event31:base-stat]
>>>>> -fd=31
>>>>> +[event36:base-stat]
>>>>> +fd=36
>>>>> type=3
>>>>> config=66048
>>>>> optional=1
On May 18, 2023 2:45:06 PM GMT-03:00, "Liang, Kan" <[email protected]> wrote:
>Hi Arnaldo,
>
>On 2023-05-18 8:55 a.m., Liang, Kan wrote:
>> On 2023-05-18 8:20 a.m., Arnaldo Carvalho de Melo wrote:
>>> Em Thu, May 18, 2023 at 08:50:14AM +0100, James Clark escreveu:
>>>>
>>>> On 17/05/2023 23:57, Ian Rogers wrote:
>>>>> Previously hard coded events/metrics were used, update for the use of
>>>>> the TopdownL1 json metric group.
>>>>>
>>>>> Fixes: 94b1a603fca7 ("perf stat: Add TopdownL1 metric as a default if present")
>>>>> Signed-off-by: Ian Rogers <[email protected]>
>>>>> ---
>>>>> tools/perf/tests/attr/base-stat | 2 +-
>>>>> tools/perf/tests/attr/test-stat-default | 80 ++++++++-----
>>>>> tools/perf/tests/attr/test-stat-detailed-1 | 95 +++++++++------
>>>>> tools/perf/tests/attr/test-stat-detailed-2 | 119 +++++++++++--------
>>>>> tools/perf/tests/attr/test-stat-detailed-3 | 127 ++++++++++++---------
>>>>> 5 files changed, 249 insertions(+), 174 deletions(-)
>>>>>
>>>> Reviewed-by: James Clark <[email protected]>
>>> Thanks, applied both patches to perf-tools.
>>>
>> Could you please hold patch 1 for a while?
>
>Sorry for the noise.
That's not noise, I value your reviews, please keep doing them.
>Ian has addressed my concerns. The patch looks good to me now.
>It also fixes a "Failed" on my Cascade Lake machine.
>
>Tested-by: Kan Liang <[email protected]>
Thanks !
>But for long term, we probably need a better solution to avoid keeping
>adding such non-architectural events in the test case.
Yes, the situation now is different than the one when this test was put in place by Jiri (IIRC).
- Arnaldo
Em Thu, May 18, 2023 at 01:45:06PM -0400, Liang, Kan escreveu:
> Hi Arnaldo,
>
> On 2023-05-18 8:55 a.m., Liang, Kan wrote:
> > On 2023-05-18 8:20 a.m., Arnaldo Carvalho de Melo wrote:
> >> Em Thu, May 18, 2023 at 08:50:14AM +0100, James Clark escreveu:
> >>>
> >>> On 17/05/2023 23:57, Ian Rogers wrote:
> >>>> Previously hard coded events/metrics were used, update for the use of
> >>>> the TopdownL1 json metric group.
> >>>>
> >>>> Fixes: 94b1a603fca7 ("perf stat: Add TopdownL1 metric as a default if present")
> >>>> Signed-off-by: Ian Rogers <[email protected]>
> >>>> ---
> >>>> tools/perf/tests/attr/base-stat | 2 +-
> >>>> tools/perf/tests/attr/test-stat-default | 80 ++++++++-----
> >>>> tools/perf/tests/attr/test-stat-detailed-1 | 95 +++++++++------
> >>>> tools/perf/tests/attr/test-stat-detailed-2 | 119 +++++++++++--------
> >>>> tools/perf/tests/attr/test-stat-detailed-3 | 127 ++++++++++++---------
> >>>> 5 files changed, 249 insertions(+), 174 deletions(-)
> >>>>
> >>> Reviewed-by: James Clark <[email protected]>
> >> Thanks, applied both patches to perf-tools.
> >>
> > Could you please hold patch 1 for a while?
>
> Sorry for the noise.
>
> Ian has addressed my concerns. The patch looks good to me now.
> It also fixes a "Failed" on my Cascade Lake machine.
>
> Tested-by: Kan Liang <[email protected]>
Thanks, added it,
- Arnaldo
> But for long term, we probably need a better solution to avoid keeping
> adding such non-architectural events in the test case.