On 2025-02-03 10:42 p.m., Namhyung Kim wrote: > Add Kan and Dapeng to CC. > > Thanks, > Namhyung > > > On Fri, Jan 31, 2025 at 11:27:56AM +0100, Thomas Richter wrote: >> On s390 the event instructions can not be used for recording. >> This event is only supported by perf stat. >> >> Change the event from instructions to cycles in >> subtest test_leader_sampling. >> >> Signed-off-by: Thomas Richter <tmricht@xxxxxxxxxxxxx> >> Suggested-by: James Clark <james.clark@xxxxxxxxxx> >> Reviewed-by: James Clark <james.clark@xxxxxxxxxx> >> --- >> tools/perf/tests/shell/record.sh | 10 +++++----- >> 1 file changed, 5 insertions(+), 5 deletions(-) >> >> diff --git a/tools/perf/tests/shell/record.sh b/tools/perf/tests/shell/record.sh >> index fe2d05bcbb1f..ba8d873d3ca7 100755 >> --- a/tools/perf/tests/shell/record.sh >> +++ b/tools/perf/tests/shell/record.sh >> @@ -231,7 +231,7 @@ test_cgroup() { >> >> test_leader_sampling() { >> echo "Basic leader sampling test" >> - if ! perf record -o "${perfdata}" -e "{instructions,instructions}:Su" -- \ >> + if ! perf record -o "${perfdata}" -e "{cycles,cycles}:Su" -- \ >> perf test -w brstack 2> /dev/null As a non-precise test, using cycles instead should be fine. But we should never use it for precise test, e.g., with p. Because cycles is a non-precise event. It would not surprise me if there is a skid when reading two cycles events at the point when the event overflow occurs. Reviewed-by: Kan Liang <kan.liang@xxxxxxxxxxxxxxx> Thanks, Kan >> then >> echo "Leader sampling [Failed record]" >> @@ -243,15 +243,15 @@ test_leader_sampling() { >> while IFS= read -r line >> do >> # Check if the two instruction counts are equal in each record >> - instructions=$(echo $line | awk '{for(i=1;i<=NF;i++) if($i=="instructions:") print $(i-1)}') >> - if [ $(($index%2)) -ne 0 ] && [ ${instructions}x != ${prev_instructions}x ] >> + cycles=$(echo $line | awk '{for(i=1;i<=NF;i++) if($i=="cycles:") print $(i-1)}') >> + if [ $(($index%2)) -ne 0 ] && [ ${cycles}x != ${prev_cycles}x ] >> then >> - echo "Leader sampling [Failed inconsistent instructions count]" >> + echo "Leader sampling [Failed inconsistent cycles count]" >> err=1 >> return >> fi >> index=$(($index+1)) >> - prev_instructions=$instructions >> + prev_cycles=$cycles >> done < $script_output >> echo "Basic leader sampling test [Success]" >> } >> -- >> 2.48.1 >>