Messages in this thread | | | Date | Tue, 18 Jan 2022 17:18:27 +0800 | From | Leo Yan <> | Subject | Re: [PATCH] perf test: Test 73 Sig_trap fails on s390 |
| |
On Mon, Jan 17, 2022 at 03:39:10PM +0000, John Garry wrote: > On 16/12/2021 15:48, Marco Elver wrote: > > + > > > On Thu, 16 Dec 2021 at 16:15, Thomas Richter<tmricht@linux.ibm.com> wrote: > > > In Linux next kernel > > > Commit 5504f67944484 ("perf test sigtrap: Add basic stress test for sigtrap handling") > > > introduced the new test which uses breakpoint events. > > > These events are not supported on s390 and PowerPC and always fail: > > > > > > # perf test -F 73 > > > 73: Sigtrap : FAILED! > > > # > > > > > > Fix it the same way as in the breakpoint tests in file > > > tests/bp_account.c where these type of tests are skipped on > > > s390 and PowerPC platforms. > > > > > > With this patch skip this test on both platforms. > > > > > > Output after: > > > # ./perf test -F 73 > > > 73: Sigtrap > > > > > > Fixes: 5504f67944484 ("perf test sigtrap: Add basic stress test for sigtrap handling") > > > > > > Cc: Marco Elver<elver@google.com> > > > Signed-off-by: Thomas Richter<tmricht@linux.ibm.com> > > Acked-by: Marco Elver<elver@google.com> > > > > Thanks, and sorry for missing this case! > > > > I am finding that this test hangs on my arm64 machine: > > john@debian:~/kernel-dev2/tools/perf$ sudo ./perf test -vvv 73 > 73: Sigtrap: > --- start --- > test child forked, pid 45193
Both Arm and Arm64 platforms cannot support signal handler with breakpoint, please see the details in [1]. So I think we need something like below:
static int test__sigtrap(struct test_suite *test __maybe_unused, int subtest __maybe_unused) { ...
if (!BP_SIGNAL_IS_SUPPORTED) { pr_debug("Test not supported on this architecture"); return TEST_SKIP; }
... }
Since we have defined BP_SIGNAL_IS_SUPPORTED, I think we can reuse it at here.
[1] https://lore.kernel.org/lkml/157169993406.29376.12473771029179755767.tip-bot2@tip-bot2/
> And fails on my x86 broadwell machine: > > john@localhost:~/kernel-dev2/tools/perf> sudo ./perf test -v 73 > 73: Sigtrap : > --- start --- > test child forked, pid 22255 > FAILED sys_perf_event_open(): Argument list too long > test child finished with -1 > ---- end ---- > Sigtrap: FAILED! > john@localhost:~/kernel-dev2/tools/perf>
It is a bit suprise for the failure on x86, as I remembered x86 platform can support signal handler with hw breakpoint. And from the error "Argument list too long", it should be a different issue from other archs.
Thanks, Leo
| |