Jiri Slaby 9eeade
From: Thomas Richter <tmricht@linux.ibm.com>
Jiri Slaby 9eeade
Date: Wed, 22 Mar 2023 10:47:31 +0100
Jiri Slaby 9eeade
Subject: [PATCH] perf test: Fix wrong size expectation for 'Setup struct
Jiri Slaby 9eeade
 perf_event_attr'
Jiri Slaby 9eeade
References: bsc#1012628
Jiri Slaby 9eeade
Patch-mainline: 6.3.3
Jiri Slaby 9eeade
Git-commit: 30df88a80f32ccca5c5cdcf2710d1fb2de5e314d
Jiri Slaby 9eeade
Jiri Slaby 9eeade
[ Upstream commit 30df88a80f32ccca5c5cdcf2710d1fb2de5e314d ]
Jiri Slaby 9eeade
Jiri Slaby 9eeade
The test case "perf test 'Setup struct perf_event_attr'" is failing.
Jiri Slaby 9eeade
Jiri Slaby 9eeade
On s390 this output is observed:
Jiri Slaby 9eeade
Jiri Slaby 9eeade
 # ./perf test -Fvvvv 17
Jiri Slaby 9eeade
 17: Setup struct perf_event_attr                                    :
Jiri Slaby 9eeade
 --- start ---
Jiri Slaby 9eeade
 running './tests/attr/test-stat-C0'
Jiri Slaby 9eeade
 Using CPUID IBM,8561,703,T01,3.6,002f
Jiri Slaby 9eeade
 .....
Jiri Slaby 9eeade
 Event event:base-stat
Jiri Slaby 9eeade
      fd = 1
Jiri Slaby 9eeade
      group_fd = -1
Jiri Slaby 9eeade
      flags = 0|8
Jiri Slaby 9eeade
      cpu = *
Jiri Slaby 9eeade
      type = 0
Jiri Slaby 9eeade
      size = 128     <<<--- wrong, specified in file base-stat
Jiri Slaby 9eeade
      config = 0
Jiri Slaby 9eeade
      sample_period = 0
Jiri Slaby 9eeade
      sample_type = 65536
Jiri Slaby 9eeade
      ...
Jiri Slaby 9eeade
 'PERF_TEST_ATTR=/tmp/tmpgw574wvg ./perf stat -o \
Jiri Slaby 9eeade
	/tmp/tmpgw574wvg/perf.data -e cycles -C 0 kill >/dev/null \
Jiri Slaby 9eeade
	2>&1 ret '1', expected '1'
Jiri Slaby 9eeade
  loading result events
Jiri Slaby 9eeade
    Event event-0-0-4
Jiri Slaby 9eeade
      fd = 4
Jiri Slaby 9eeade
      group_fd = -1
Jiri Slaby 9eeade
      cpu = 0
Jiri Slaby 9eeade
      pid = -1
Jiri Slaby 9eeade
      flags = 8
Jiri Slaby 9eeade
      type = 0
Jiri Slaby 9eeade
      size = 136     <<<--- actual size used in system call
Jiri Slaby 9eeade
      .....
Jiri Slaby 9eeade
  compare
Jiri Slaby 9eeade
    matching [event-0-0-4]
Jiri Slaby 9eeade
      to [event:base-stat]
Jiri Slaby 9eeade
      [cpu] 0 *
Jiri Slaby 9eeade
      [flags] 8 0|8
Jiri Slaby 9eeade
      [type] 0 0
Jiri Slaby 9eeade
      [size] 136 128
Jiri Slaby 9eeade
    ->FAIL
Jiri Slaby 9eeade
    match: [event-0-0-4] matches []
Jiri Slaby 9eeade
  expected size=136, got 128
Jiri Slaby 9eeade
  FAILED './tests/attr/test-stat-C0' - match failure
Jiri Slaby 9eeade
Jiri Slaby 9eeade
This mismatch is caused by
Jiri Slaby 9eeade
commit 09519ec3b19e ("perf: Add perf_event_attr::config3")
Jiri Slaby 9eeade
which enlarges the structure perf_event_attr by 8 bytes.
Jiri Slaby 9eeade
Jiri Slaby 9eeade
Fix this by adjusting the expected value of size.
Jiri Slaby 9eeade
Jiri Slaby 9eeade
Output after:
Jiri Slaby 9eeade
 # ./perf test -Fvvvv 17
Jiri Slaby 9eeade
 17: Setup struct perf_event_attr                                    :
Jiri Slaby 9eeade
 --- start ---
Jiri Slaby 9eeade
 running './tests/attr/test-stat-C0'
Jiri Slaby 9eeade
 Using CPUID IBM,8561,703,T01,3.6,002f
Jiri Slaby 9eeade
 ...
Jiri Slaby 9eeade
  matched
Jiri Slaby 9eeade
  compare
Jiri Slaby 9eeade
    matching [event-0-0-4]
Jiri Slaby 9eeade
      to [event:base-stat]
Jiri Slaby 9eeade
      [cpu] 0 *
Jiri Slaby 9eeade
      [flags] 8 0|8
Jiri Slaby 9eeade
      [type] 0 0
Jiri Slaby 9eeade
      [size] 136 136
Jiri Slaby 9eeade
      ....
Jiri Slaby 9eeade
   ->OK
Jiri Slaby 9eeade
   match: [event-0-0-4] matches ['event:base-stat']
Jiri Slaby 9eeade
 matched
Jiri Slaby 9eeade
Jiri Slaby 9eeade
Fixes: 09519ec3b19e4144 ("perf: Add perf_event_attr::config3")
Jiri Slaby 9eeade
Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
Jiri Slaby 9eeade
Acked-by: Namhyung Kim <namhyung@kernel.org>
Jiri Slaby 9eeade
Cc: Heiko Carstens <hca@linux.ibm.com>
Jiri Slaby 9eeade
Cc: Rob Herring <robh@kernel.org>
Jiri Slaby 9eeade
Cc: Sumanth Korikkar <sumanthk@linux.ibm.com>
Jiri Slaby 9eeade
Cc: Sven Schnelle <svens@linux.ibm.com>
Jiri Slaby 9eeade
Cc: Vasily Gorbik <gor@linux.ibm.com>
Jiri Slaby 9eeade
Cc: Will Deacon <will@kernel.org>
Jiri Slaby 9eeade
Link: https://lore.kernel.org/r/20230322094731.1768281-1-tmricht@linux.ibm.com
Jiri Slaby 9eeade
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Jiri Slaby 9eeade
Signed-off-by: Sasha Levin <sashal@kernel.org>
Jiri Slaby 9eeade
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Jiri Slaby 9eeade
---
Jiri Slaby 9eeade
 tools/perf/tests/attr/base-record       | 2 +-
Jiri Slaby 9eeade
 tools/perf/tests/attr/base-stat         | 2 +-
Jiri Slaby 9eeade
 tools/perf/tests/attr/system-wide-dummy | 2 +-
Jiri Slaby 9eeade
 3 files changed, 3 insertions(+), 3 deletions(-)
Jiri Slaby 9eeade
Jiri Slaby 9eeade
diff --git a/tools/perf/tests/attr/base-record b/tools/perf/tests/attr/base-record
Jiri Slaby 9eeade
index 3ef07a12..27c21271 100644
Jiri Slaby 9eeade
--- a/tools/perf/tests/attr/base-record
Jiri Slaby 9eeade
+++ b/tools/perf/tests/attr/base-record
Jiri Slaby 9eeade
@@ -5,7 +5,7 @@ group_fd=-1
Jiri Slaby 9eeade
 flags=0|8
Jiri Slaby 9eeade
 cpu=*
Jiri Slaby 9eeade
 type=0|1
Jiri Slaby 9eeade
-size=128
Jiri Slaby 9eeade
+size=136
Jiri Slaby 9eeade
 config=0
Jiri Slaby 9eeade
 sample_period=*
Jiri Slaby 9eeade
 sample_type=263
Jiri Slaby 9eeade
diff --git a/tools/perf/tests/attr/base-stat b/tools/perf/tests/attr/base-stat
Jiri Slaby 9eeade
index 40816445..a21fb65b 100644
Jiri Slaby 9eeade
--- a/tools/perf/tests/attr/base-stat
Jiri Slaby 9eeade
+++ b/tools/perf/tests/attr/base-stat
Jiri Slaby 9eeade
@@ -5,7 +5,7 @@ group_fd=-1
Jiri Slaby 9eeade
 flags=0|8
Jiri Slaby 9eeade
 cpu=*
Jiri Slaby 9eeade
 type=0
Jiri Slaby 9eeade
-size=128
Jiri Slaby 9eeade
+size=136
Jiri Slaby 9eeade
 config=0
Jiri Slaby 9eeade
 sample_period=0
Jiri Slaby 9eeade
 sample_type=65536
Jiri Slaby 9eeade
diff --git a/tools/perf/tests/attr/system-wide-dummy b/tools/perf/tests/attr/system-wide-dummy
Jiri Slaby 9eeade
index 8fec06ed..2f3e3eb7 100644
Jiri Slaby 9eeade
--- a/tools/perf/tests/attr/system-wide-dummy
Jiri Slaby 9eeade
+++ b/tools/perf/tests/attr/system-wide-dummy
Jiri Slaby 9eeade
@@ -7,7 +7,7 @@ cpu=*
Jiri Slaby 9eeade
 pid=-1
Jiri Slaby 9eeade
 flags=8
Jiri Slaby 9eeade
 type=1
Jiri Slaby 9eeade
-size=128
Jiri Slaby 9eeade
+size=136
Jiri Slaby 9eeade
 config=9
Jiri Slaby 9eeade
 sample_period=4000
Jiri Slaby 9eeade
 sample_type=455
Jiri Slaby 9eeade
-- 
Jiri Slaby 9eeade
2.35.3
Jiri Slaby 9eeade