From: Kan Liang <[email protected]>
The Topdown metrics events were added as perf stat default events since
commit 42641d6f4d15 ("perf stat: Add Topdown metrics events as default
events"). However, the perf attr tests were not updated accordingly.
The perf attr test fails on the platform which supports Topdown metrics.
perf test 17
17: Setup struct perf_event_attr :FAILED!
Add Topdown metrics events into perf attr test cases. Make them optional
since they are only available on newer platforms.
Reported-by: kernel test robot <[email protected]>
Fixes: 42641d6f4d15 ("perf stat: Add Topdown metrics events as default events")
Signed-off-by: Kan Liang <[email protected]>
---
tools/perf/tests/attr/test-stat-default | 97 +++++++++++++++++++
tools/perf/tests/attr/test-stat-detailed-1 | 113 ++++++++++++++++++++--
tools/perf/tests/attr/test-stat-detailed-2 | 137 +++++++++++++++++++++++----
tools/perf/tests/attr/test-stat-detailed-3 | 145 ++++++++++++++++++++++++-----
4 files changed, 440 insertions(+), 52 deletions(-)
diff --git a/tools/perf/tests/attr/test-stat-default b/tools/perf/tests/attr/test-stat-default
index d9e99b3..d8ea6a8 100644
--- a/tools/perf/tests/attr/test-stat-default
+++ b/tools/perf/tests/attr/test-stat-default
@@ -68,3 +68,100 @@ fd=10
type=0
config=5
optional=1
+
+# PERF_TYPE_RAW / slots (0x400)
+[event11:base-stat]
+fd=11
+group_fd=-1
+type=4
+config=1024
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-retiring (0x8000)
+[event12:base-stat]
+fd=12
+group_fd=11
+type=4
+config=32768
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
+[event13:base-stat]
+fd=13
+group_fd=11
+type=4
+config=33024
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
+[event14:base-stat]
+fd=14
+group_fd=11
+type=4
+config=33280
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-be-bound (0x8300)
+[event15:base-stat]
+fd=15
+group_fd=11
+type=4
+config=33536
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
+[event16:base-stat]
+fd=16
+group_fd=11
+type=4
+config=33792
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
+[event17:base-stat]
+fd=17
+group_fd=11
+type=4
+config=34048
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
+[event18:base-stat]
+fd=18
+group_fd=11
+type=4
+config=34304
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
+[event19:base-stat]
+fd=19
+group_fd=11
+type=4
+config=34560
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
diff --git a/tools/perf/tests/attr/test-stat-detailed-1 b/tools/perf/tests/attr/test-stat-detailed-1
index 8b04a05..b656ab9 100644
--- a/tools/perf/tests/attr/test-stat-detailed-1
+++ b/tools/perf/tests/attr/test-stat-detailed-1
@@ -70,12 +70,109 @@ type=0
config=5
optional=1
+# PERF_TYPE_RAW / slots (0x400)
+[event11:base-stat]
+fd=11
+group_fd=-1
+type=4
+config=1024
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-retiring (0x8000)
+[event12:base-stat]
+fd=12
+group_fd=11
+type=4
+config=32768
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
+[event13:base-stat]
+fd=13
+group_fd=11
+type=4
+config=33024
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
+[event14:base-stat]
+fd=14
+group_fd=11
+type=4
+config=33280
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-be-bound (0x8300)
+[event15:base-stat]
+fd=15
+group_fd=11
+type=4
+config=33536
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
+[event16:base-stat]
+fd=16
+group_fd=11
+type=4
+config=33792
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
+[event17:base-stat]
+fd=17
+group_fd=11
+type=4
+config=34048
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
+[event18:base-stat]
+fd=18
+group_fd=11
+type=4
+config=34304
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
+[event19:base-stat]
+fd=19
+group_fd=11
+type=4
+config=34560
+disabled=0
+enable_on_exec=0
+read_format=15
+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)
-[event11:base-stat]
-fd=11
+[event20:base-stat]
+fd=20
type=3
config=0
optional=1
@@ -84,8 +181,8 @@ optional=1
# PERF_COUNT_HW_CACHE_L1D << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event12:base-stat]
-fd=12
+[event21:base-stat]
+fd=21
type=3
config=65536
optional=1
@@ -94,8 +191,8 @@ optional=1
# PERF_COUNT_HW_CACHE_LL << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
-[event13:base-stat]
-fd=13
+[event22:base-stat]
+fd=22
type=3
config=2
optional=1
@@ -104,8 +201,8 @@ optional=1
# PERF_COUNT_HW_CACHE_LL << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event14:base-stat]
-fd=14
+[event23:base-stat]
+fd=23
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 4fca9f1..9762509 100644
--- a/tools/perf/tests/attr/test-stat-detailed-2
+++ b/tools/perf/tests/attr/test-stat-detailed-2
@@ -70,12 +70,109 @@ type=0
config=5
optional=1
+# PERF_TYPE_RAW / slots (0x400)
+[event11:base-stat]
+fd=11
+group_fd=-1
+type=4
+config=1024
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-retiring (0x8000)
+[event12:base-stat]
+fd=12
+group_fd=11
+type=4
+config=32768
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
+[event13:base-stat]
+fd=13
+group_fd=11
+type=4
+config=33024
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
+[event14:base-stat]
+fd=14
+group_fd=11
+type=4
+config=33280
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-be-bound (0x8300)
+[event15:base-stat]
+fd=15
+group_fd=11
+type=4
+config=33536
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
+[event16:base-stat]
+fd=16
+group_fd=11
+type=4
+config=33792
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
+[event17:base-stat]
+fd=17
+group_fd=11
+type=4
+config=34048
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
+[event18:base-stat]
+fd=18
+group_fd=11
+type=4
+config=34304
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
+[event19:base-stat]
+fd=19
+group_fd=11
+type=4
+config=34560
+disabled=0
+enable_on_exec=0
+read_format=15
+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)
-[event11:base-stat]
-fd=11
+[event20:base-stat]
+fd=20
type=3
config=0
optional=1
@@ -84,8 +181,8 @@ optional=1
# PERF_COUNT_HW_CACHE_L1D << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event12:base-stat]
-fd=12
+[event21:base-stat]
+fd=21
type=3
config=65536
optional=1
@@ -94,8 +191,8 @@ optional=1
# PERF_COUNT_HW_CACHE_LL << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
-[event13:base-stat]
-fd=13
+[event22:base-stat]
+fd=22
type=3
config=2
optional=1
@@ -104,8 +201,8 @@ optional=1
# PERF_COUNT_HW_CACHE_LL << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event14:base-stat]
-fd=14
+[event23:base-stat]
+fd=23
type=3
config=65538
optional=1
@@ -114,8 +211,8 @@ optional=1
# PERF_COUNT_HW_CACHE_L1I << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
-[event15:base-stat]
-fd=15
+[event24:base-stat]
+fd=24
type=3
config=1
optional=1
@@ -124,8 +221,8 @@ optional=1
# PERF_COUNT_HW_CACHE_L1I << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event16:base-stat]
-fd=16
+[event25:base-stat]
+fd=25
type=3
config=65537
optional=1
@@ -134,8 +231,8 @@ optional=1
# PERF_COUNT_HW_CACHE_DTLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
-[event17:base-stat]
-fd=17
+[event26:base-stat]
+fd=26
type=3
config=3
optional=1
@@ -144,8 +241,8 @@ optional=1
# PERF_COUNT_HW_CACHE_DTLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event18:base-stat]
-fd=18
+[event27:base-stat]
+fd=27
type=3
config=65539
optional=1
@@ -154,8 +251,8 @@ optional=1
# PERF_COUNT_HW_CACHE_ITLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
-[event19:base-stat]
-fd=19
+[event28:base-stat]
+fd=28
type=3
config=4
optional=1
@@ -164,8 +261,8 @@ optional=1
# PERF_COUNT_HW_CACHE_ITLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event20:base-stat]
-fd=20
+[event29:base-stat]
+fd=29
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 4bb58e1..d555042 100644
--- a/tools/perf/tests/attr/test-stat-detailed-3
+++ b/tools/perf/tests/attr/test-stat-detailed-3
@@ -70,12 +70,109 @@ type=0
config=5
optional=1
+# PERF_TYPE_RAW / slots (0x400)
+[event11:base-stat]
+fd=11
+group_fd=-1
+type=4
+config=1024
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-retiring (0x8000)
+[event12:base-stat]
+fd=12
+group_fd=11
+type=4
+config=32768
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
+[event13:base-stat]
+fd=13
+group_fd=11
+type=4
+config=33024
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
+[event14:base-stat]
+fd=14
+group_fd=11
+type=4
+config=33280
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-be-bound (0x8300)
+[event15:base-stat]
+fd=15
+group_fd=11
+type=4
+config=33536
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
+[event16:base-stat]
+fd=16
+group_fd=11
+type=4
+config=33792
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
+[event17:base-stat]
+fd=17
+group_fd=11
+type=4
+config=34048
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
+[event18:base-stat]
+fd=18
+group_fd=11
+type=4
+config=34304
+disabled=0
+enable_on_exec=0
+read_format=15
+optional=1
+
+# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
+[event19:base-stat]
+fd=19
+group_fd=11
+type=4
+config=34560
+disabled=0
+enable_on_exec=0
+read_format=15
+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)
-[event11:base-stat]
-fd=11
+[event20:base-stat]
+fd=20
type=3
config=0
optional=1
@@ -84,8 +181,8 @@ optional=1
# PERF_COUNT_HW_CACHE_L1D << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event12:base-stat]
-fd=12
+[event21:base-stat]
+fd=21
type=3
config=65536
optional=1
@@ -94,8 +191,8 @@ optional=1
# PERF_COUNT_HW_CACHE_LL << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
-[event13:base-stat]
-fd=13
+[event22:base-stat]
+fd=22
type=3
config=2
optional=1
@@ -104,8 +201,8 @@ optional=1
# PERF_COUNT_HW_CACHE_LL << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event14:base-stat]
-fd=14
+[event23:base-stat]
+fd=23
type=3
config=65538
optional=1
@@ -114,8 +211,8 @@ optional=1
# PERF_COUNT_HW_CACHE_L1I << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
-[event15:base-stat]
-fd=15
+[event24:base-stat]
+fd=24
type=3
config=1
optional=1
@@ -124,8 +221,8 @@ optional=1
# PERF_COUNT_HW_CACHE_L1I << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event16:base-stat]
-fd=16
+[event25:base-stat]
+fd=25
type=3
config=65537
optional=1
@@ -134,8 +231,8 @@ optional=1
# PERF_COUNT_HW_CACHE_DTLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
-[event17:base-stat]
-fd=17
+[event26:base-stat]
+fd=26
type=3
config=3
optional=1
@@ -144,8 +241,8 @@ optional=1
# PERF_COUNT_HW_CACHE_DTLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event18:base-stat]
-fd=18
+[event27:base-stat]
+fd=27
type=3
config=65539
optional=1
@@ -154,8 +251,8 @@ optional=1
# PERF_COUNT_HW_CACHE_ITLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
-[event19:base-stat]
-fd=19
+[event28:base-stat]
+fd=28
type=3
config=4
optional=1
@@ -164,8 +261,8 @@ optional=1
# PERF_COUNT_HW_CACHE_ITLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event20:base-stat]
-fd=20
+[event29:base-stat]
+fd=29
type=3
config=65540
optional=1
@@ -174,8 +271,8 @@ optional=1
# PERF_COUNT_HW_CACHE_L1D << 0 |
# (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
-[event21:base-stat]
-fd=21
+[event30:base-stat]
+fd=30
type=3
config=512
optional=1
@@ -184,8 +281,8 @@ optional=1
# PERF_COUNT_HW_CACHE_L1D << 0 |
# (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
-[event22:base-stat]
-fd=22
+[event31:base-stat]
+fd=31
type=3
config=66048
optional=1
--
2.7.4
On Thu, Sep 30, 2021 at 12:52:46PM -0700, [email protected] wrote:
> From: Kan Liang <[email protected]>
>
> The Topdown metrics events were added as perf stat default events since
> commit 42641d6f4d15 ("perf stat: Add Topdown metrics events as default
> events"). However, the perf attr tests were not updated accordingly.
>
> The perf attr test fails on the platform which supports Topdown metrics.
> perf test 17
> 17: Setup struct perf_event_attr :FAILED!
>
> Add Topdown metrics events into perf attr test cases. Make them optional
> since they are only available on newer platforms.
>
> Reported-by: kernel test robot <[email protected]>
> Fixes: 42641d6f4d15 ("perf stat: Add Topdown metrics events as default events")
> Signed-off-by: Kan Liang <[email protected]>
Acked-by: Jiri Olsa <[email protected]>
thanks,
jirka
> ---
> tools/perf/tests/attr/test-stat-default | 97 +++++++++++++++++++
> tools/perf/tests/attr/test-stat-detailed-1 | 113 ++++++++++++++++++++--
> tools/perf/tests/attr/test-stat-detailed-2 | 137 +++++++++++++++++++++++----
> tools/perf/tests/attr/test-stat-detailed-3 | 145 ++++++++++++++++++++++++-----
> 4 files changed, 440 insertions(+), 52 deletions(-)
>
> diff --git a/tools/perf/tests/attr/test-stat-default b/tools/perf/tests/attr/test-stat-default
> index d9e99b3..d8ea6a8 100644
> --- a/tools/perf/tests/attr/test-stat-default
> +++ b/tools/perf/tests/attr/test-stat-default
> @@ -68,3 +68,100 @@ fd=10
> type=0
> config=5
> optional=1
> +
> +# PERF_TYPE_RAW / slots (0x400)
> +[event11:base-stat]
> +fd=11
> +group_fd=-1
> +type=4
> +config=1024
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-retiring (0x8000)
> +[event12:base-stat]
> +fd=12
> +group_fd=11
> +type=4
> +config=32768
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> +[event13:base-stat]
> +fd=13
> +group_fd=11
> +type=4
> +config=33024
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> +[event14:base-stat]
> +fd=14
> +group_fd=11
> +type=4
> +config=33280
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> +[event15:base-stat]
> +fd=15
> +group_fd=11
> +type=4
> +config=33536
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> +[event16:base-stat]
> +fd=16
> +group_fd=11
> +type=4
> +config=33792
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> +[event17:base-stat]
> +fd=17
> +group_fd=11
> +type=4
> +config=34048
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> +[event18:base-stat]
> +fd=18
> +group_fd=11
> +type=4
> +config=34304
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> +[event19:base-stat]
> +fd=19
> +group_fd=11
> +type=4
> +config=34560
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> diff --git a/tools/perf/tests/attr/test-stat-detailed-1 b/tools/perf/tests/attr/test-stat-detailed-1
> index 8b04a05..b656ab9 100644
> --- a/tools/perf/tests/attr/test-stat-detailed-1
> +++ b/tools/perf/tests/attr/test-stat-detailed-1
> @@ -70,12 +70,109 @@ type=0
> config=5
> optional=1
>
> +# PERF_TYPE_RAW / slots (0x400)
> +[event11:base-stat]
> +fd=11
> +group_fd=-1
> +type=4
> +config=1024
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-retiring (0x8000)
> +[event12:base-stat]
> +fd=12
> +group_fd=11
> +type=4
> +config=32768
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> +[event13:base-stat]
> +fd=13
> +group_fd=11
> +type=4
> +config=33024
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> +[event14:base-stat]
> +fd=14
> +group_fd=11
> +type=4
> +config=33280
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> +[event15:base-stat]
> +fd=15
> +group_fd=11
> +type=4
> +config=33536
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> +[event16:base-stat]
> +fd=16
> +group_fd=11
> +type=4
> +config=33792
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> +[event17:base-stat]
> +fd=17
> +group_fd=11
> +type=4
> +config=34048
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> +[event18:base-stat]
> +fd=18
> +group_fd=11
> +type=4
> +config=34304
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> +[event19:base-stat]
> +fd=19
> +group_fd=11
> +type=4
> +config=34560
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +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)
> -[event11:base-stat]
> -fd=11
> +[event20:base-stat]
> +fd=20
> type=3
> config=0
> optional=1
> @@ -84,8 +181,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1D << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event12:base-stat]
> -fd=12
> +[event21:base-stat]
> +fd=21
> type=3
> config=65536
> optional=1
> @@ -94,8 +191,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_LL << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event13:base-stat]
> -fd=13
> +[event22:base-stat]
> +fd=22
> type=3
> config=2
> optional=1
> @@ -104,8 +201,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_LL << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event14:base-stat]
> -fd=14
> +[event23:base-stat]
> +fd=23
> 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 4fca9f1..9762509 100644
> --- a/tools/perf/tests/attr/test-stat-detailed-2
> +++ b/tools/perf/tests/attr/test-stat-detailed-2
> @@ -70,12 +70,109 @@ type=0
> config=5
> optional=1
>
> +# PERF_TYPE_RAW / slots (0x400)
> +[event11:base-stat]
> +fd=11
> +group_fd=-1
> +type=4
> +config=1024
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-retiring (0x8000)
> +[event12:base-stat]
> +fd=12
> +group_fd=11
> +type=4
> +config=32768
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> +[event13:base-stat]
> +fd=13
> +group_fd=11
> +type=4
> +config=33024
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> +[event14:base-stat]
> +fd=14
> +group_fd=11
> +type=4
> +config=33280
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> +[event15:base-stat]
> +fd=15
> +group_fd=11
> +type=4
> +config=33536
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> +[event16:base-stat]
> +fd=16
> +group_fd=11
> +type=4
> +config=33792
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> +[event17:base-stat]
> +fd=17
> +group_fd=11
> +type=4
> +config=34048
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> +[event18:base-stat]
> +fd=18
> +group_fd=11
> +type=4
> +config=34304
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> +[event19:base-stat]
> +fd=19
> +group_fd=11
> +type=4
> +config=34560
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +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)
> -[event11:base-stat]
> -fd=11
> +[event20:base-stat]
> +fd=20
> type=3
> config=0
> optional=1
> @@ -84,8 +181,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1D << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event12:base-stat]
> -fd=12
> +[event21:base-stat]
> +fd=21
> type=3
> config=65536
> optional=1
> @@ -94,8 +191,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_LL << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event13:base-stat]
> -fd=13
> +[event22:base-stat]
> +fd=22
> type=3
> config=2
> optional=1
> @@ -104,8 +201,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_LL << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event14:base-stat]
> -fd=14
> +[event23:base-stat]
> +fd=23
> type=3
> config=65538
> optional=1
> @@ -114,8 +211,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1I << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event15:base-stat]
> -fd=15
> +[event24:base-stat]
> +fd=24
> type=3
> config=1
> optional=1
> @@ -124,8 +221,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1I << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event16:base-stat]
> -fd=16
> +[event25:base-stat]
> +fd=25
> type=3
> config=65537
> optional=1
> @@ -134,8 +231,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_DTLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event17:base-stat]
> -fd=17
> +[event26:base-stat]
> +fd=26
> type=3
> config=3
> optional=1
> @@ -144,8 +241,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_DTLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event18:base-stat]
> -fd=18
> +[event27:base-stat]
> +fd=27
> type=3
> config=65539
> optional=1
> @@ -154,8 +251,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_ITLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event19:base-stat]
> -fd=19
> +[event28:base-stat]
> +fd=28
> type=3
> config=4
> optional=1
> @@ -164,8 +261,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_ITLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event20:base-stat]
> -fd=20
> +[event29:base-stat]
> +fd=29
> 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 4bb58e1..d555042 100644
> --- a/tools/perf/tests/attr/test-stat-detailed-3
> +++ b/tools/perf/tests/attr/test-stat-detailed-3
> @@ -70,12 +70,109 @@ type=0
> config=5
> optional=1
>
> +# PERF_TYPE_RAW / slots (0x400)
> +[event11:base-stat]
> +fd=11
> +group_fd=-1
> +type=4
> +config=1024
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-retiring (0x8000)
> +[event12:base-stat]
> +fd=12
> +group_fd=11
> +type=4
> +config=32768
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100)
> +[event13:base-stat]
> +fd=13
> +group_fd=11
> +type=4
> +config=33024
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200)
> +[event14:base-stat]
> +fd=14
> +group_fd=11
> +type=4
> +config=33280
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-be-bound (0x8300)
> +[event15:base-stat]
> +fd=15
> +group_fd=11
> +type=4
> +config=33536
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-heavy-ops (0x8400)
> +[event16:base-stat]
> +fd=16
> +group_fd=11
> +type=4
> +config=33792
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-br-mispredict (0x8500)
> +[event17:base-stat]
> +fd=17
> +group_fd=11
> +type=4
> +config=34048
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-fetch-lat (0x8600)
> +[event18:base-stat]
> +fd=18
> +group_fd=11
> +type=4
> +config=34304
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +optional=1
> +
> +# PERF_TYPE_RAW / topdown-mem-bound (0x8700)
> +[event19:base-stat]
> +fd=19
> +group_fd=11
> +type=4
> +config=34560
> +disabled=0
> +enable_on_exec=0
> +read_format=15
> +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)
> -[event11:base-stat]
> -fd=11
> +[event20:base-stat]
> +fd=20
> type=3
> config=0
> optional=1
> @@ -84,8 +181,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1D << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event12:base-stat]
> -fd=12
> +[event21:base-stat]
> +fd=21
> type=3
> config=65536
> optional=1
> @@ -94,8 +191,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_LL << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event13:base-stat]
> -fd=13
> +[event22:base-stat]
> +fd=22
> type=3
> config=2
> optional=1
> @@ -104,8 +201,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_LL << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event14:base-stat]
> -fd=14
> +[event23:base-stat]
> +fd=23
> type=3
> config=65538
> optional=1
> @@ -114,8 +211,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1I << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event15:base-stat]
> -fd=15
> +[event24:base-stat]
> +fd=24
> type=3
> config=1
> optional=1
> @@ -124,8 +221,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1I << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event16:base-stat]
> -fd=16
> +[event25:base-stat]
> +fd=25
> type=3
> config=65537
> optional=1
> @@ -134,8 +231,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_DTLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event17:base-stat]
> -fd=17
> +[event26:base-stat]
> +fd=26
> type=3
> config=3
> optional=1
> @@ -144,8 +241,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_DTLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event18:base-stat]
> -fd=18
> +[event27:base-stat]
> +fd=27
> type=3
> config=65539
> optional=1
> @@ -154,8 +251,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_ITLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event19:base-stat]
> -fd=19
> +[event28:base-stat]
> +fd=28
> type=3
> config=4
> optional=1
> @@ -164,8 +261,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_ITLB << 0 |
> # (PERF_COUNT_HW_CACHE_OP_READ << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event20:base-stat]
> -fd=20
> +[event29:base-stat]
> +fd=29
> type=3
> config=65540
> optional=1
> @@ -174,8 +271,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1D << 0 |
> # (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
> -[event21:base-stat]
> -fd=21
> +[event30:base-stat]
> +fd=30
> type=3
> config=512
> optional=1
> @@ -184,8 +281,8 @@ optional=1
> # PERF_COUNT_HW_CACHE_L1D << 0 |
> # (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
> -[event22:base-stat]
> -fd=22
> +[event31:base-stat]
> +fd=31
> type=3
> config=66048
> optional=1
> --
> 2.7.4
>
Em Mon, Oct 04, 2021 at 05:42:56PM +0200, Jiri Olsa escreveu:
> On Thu, Sep 30, 2021 at 12:52:46PM -0700, [email protected] wrote:
> > From: Kan Liang <[email protected]>
> >
> > The Topdown metrics events were added as perf stat default events since
> > commit 42641d6f4d15 ("perf stat: Add Topdown metrics events as default
> > events"). However, the perf attr tests were not updated accordingly.
> >
> > The perf attr test fails on the platform which supports Topdown metrics.
> > perf test 17
> > 17: Setup struct perf_event_attr :FAILED!
> >
> > Add Topdown metrics events into perf attr test cases. Make them optional
> > since they are only available on newer platforms.
> >
> > Reported-by: kernel test robot <[email protected]>
> > Fixes: 42641d6f4d15 ("perf stat: Add Topdown metrics events as default events")
> > Signed-off-by: Kan Liang <[email protected]>
>
> Acked-by: Jiri Olsa <[email protected]>
Thanks, applied.
- Arnaldo