Messages in this thread | | | Date | Tue, 18 Jan 2022 19:18:49 +0800 | From | Leo Yan <> | Subject | Re: [PATCH] perf test: Test 73 Sig_trap fails on s390 |
| |
Hi John,
On Tue, Jan 18, 2022 at 10:20:37AM +0000, John Garry wrote:
[...]
> > 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. > > > Do you know any other architectures which would have this issue? Or a > generic way to check for support? > > It's better to not have to add to this list arch-by-arch..
Yeah, it's ugly to add archs one by one. But I don't find an ABI can be used to make decision if an arch supports signal handler for breakpoint. Usually, it's architecture specific operations for signal handling, see the code [1]; simply to say, architecture needs to disable single step when call signal handler and restore single step after return from signal handler.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/x86/kernel/signal.c#n830
> > > 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. > > Yeah, I don't know what's going on here.
Seems to there have incompatible issue. Maybe you could cleanup with "make clean" and then rebuild perf.
Thanks, Leo
| |