lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4eb9f64c-aabd-8461-27a4-05b2e808e1f0@linux.ibm.com>
Date:   Thu, 28 Apr 2022 17:17:16 +0200
From:   Thomas Richter <tmricht@...ux.ibm.com>
To:     German Gomez <german.gomez@....com>, linux-kernel@...r.kernel.org,
        linux-perf-users@...r.kernel.org, acme@...nel.org,
        irogers@...gle.com
Cc:     svens@...ux.ibm.com, gor@...ux.ibm.com, sumanthk@...ux.ibm.com,
        hca@...ux.ibm.com
Subject: Re: [PATCH] perf test: Fix test case 81 on s390x

On 4/28/22 15:43, German Gomez wrote:
> 
> On 28/04/2022 13:28, Thomas Richter wrote:
>> perf test -F 81 -v fails on s390x on the linux-next branch.
>> The test case is x86 specific can not be executed on s390x.
>> The test case depends on x86 register names such as
>>
>>   ... | egrep -q 'available registers: AX BX CX DX ....'
>>
>> Skip this test case on s390x.
>>
>> Output before:
>>  # perf test -F 81
>>  81: perf record tests                       : FAILED!
>>  #
>>
>> Output after:
>>  # perf test -F 81
>>  81: perf record tests                       : Skip
>>  #
>>
>> Fixes: 24f378e66021 ("perf test: Add basic perf record tests")
>> Cc: Ian Rogers <irogers@...gle.com>
>> Signed-off-by: Thomas Richter <tmricht@...ux.ibm.com>
>> ---
>>  tools/perf/tests/shell/record.sh | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/tools/perf/tests/shell/record.sh b/tools/perf/tests/shell/record.sh
>> index cd1cf14259b8..d98f4d4a00e1 100755
>> --- a/tools/perf/tests/shell/record.sh
>> +++ b/tools/perf/tests/shell/record.sh
>> @@ -37,6 +37,8 @@ test_register_capture() {
>>    echo "Register capture test [Success]"
>>  }
>>  
>> +# Test for platform support and return TEST_SKIP
>> +[ $(uname -m) = s390x ] && exit 2
>>  test_per_thread
> 
> The "test_per_thread" might still be valid though, right?
> 

Right,
this issue is the perf record -e instructions:u event
which is not supported on all machine types and configurations
we have in our test suite.

Because of the 'set -e' at the beginning, the first perf
command fails and the shell exits with error code.

Since s390x does not support x86 register names anyway, it is easier
to just omit this test case on s390x. At least I thought so.

The alternative would be to add some more tests to check s390x
machine supports instructions:u event and then just to bail
out on the register_capture test function.

Maybe this helps.

> In my case, the register test skips gracefully (arm64).
> 
> $ ./perf test 82 -v
>  82: perf record tests                                               :
> --- start ---
> test child forked, pid 54345
> Basic --per-thread mode test
> Basic --per-thread mode test [Success]
> Register capture test
> Register capture test [Skipped missing instruction]
> test child finished with 0
> ---- end ----
> perf record tests: Ok
> 
>>  test_register_capture
>>  exit $err


-- 
Thomas Richter, Dept 3303, IBM s390 Linux Development, Boeblingen, Germany
--
Vorsitzender des Aufsichtsrats: Gregor Pillen
Geschäftsführung: David Faller
Sitz der Gesellschaft: Böblingen / Registergericht: Amtsgericht Stuttgart, HRB 243294

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ