Re: [PATCH] selftests/powerpc: Turn off timeout setting for benchmarks, dscr, signal, tm

From: Po-Hsu Lin
Date: Thu Mar 05 2020 - 04:03:01 EST


On Thu, Mar 5, 2020 at 3:32 PM Michael Ellerman <mpe@xxxxxxxxxxxxxx> wrote:
>
> Po-Hsu Lin <po-hsu.lin@xxxxxxxxxxxxx> writes:
> > Some specific tests in powerpc can take longer than the default 45
> > seconds that added in commit 852c8cbf (selftests/kselftest/runner.sh:
> > Add 45 second timeout per test) to run, the following test result was
> > collected across 2 Power8 nodes and 1 Power9 node in our pool:
> > powerpc/benchmarks/futex_bench - 52s
> > powerpc/dscr/dscr_sysfs_test - 116s
> > powerpc/signal/signal_fuzzer - 88s
> > powerpc/tm/tm_unavailable_test - 168s
> > powerpc/tm/tm-poison - 240s
> >
> > Thus they will fail with TIMEOUT error. Disable the timeout setting
> > for these sub-tests to allow them finish properly.
>
> I run the powerpc tests with run-parts, rather than the kselftest
> script, we already have our own test runner with a 120s timeout.
>
> I didn't think the kselftests runner actually worked with the powerpc
> tests? Because we override RUN_TESTS.
>
Hello Michael,

I have done a small experiment with timeout=1 in settings and use
run-parts to run the executables, it looks like this change won't
affect run-parts.

Not quite sure about the RUN_TESTS you mentioned here, we're testing
it with command like:
sudo make -C linux/tools/testing/selftests TARGETS=powerpc run_tests
And the timeout setting will take effect with this.

Thanks

> cheers
>
>
> > https://bugs.launchpad.net/bugs/1864642
> > Signed-off-by: Po-Hsu Lin <po-hsu.lin@xxxxxxxxxxxxx>
> > ---
> > tools/testing/selftests/powerpc/benchmarks/Makefile | 2 ++
> > tools/testing/selftests/powerpc/benchmarks/settings | 1 +
> > tools/testing/selftests/powerpc/dscr/Makefile | 2 ++
> > tools/testing/selftests/powerpc/dscr/settings | 1 +
> > tools/testing/selftests/powerpc/signal/Makefile | 2 ++
> > tools/testing/selftests/powerpc/signal/settings | 1 +
> > tools/testing/selftests/powerpc/tm/Makefile | 2 ++
> > tools/testing/selftests/powerpc/tm/settings | 1 +
> > 8 files changed, 12 insertions(+)
> > create mode 100644 tools/testing/selftests/powerpc/benchmarks/settings
> > create mode 100644 tools/testing/selftests/powerpc/dscr/settings
> > create mode 100644 tools/testing/selftests/powerpc/signal/settings
> > create mode 100644 tools/testing/selftests/powerpc/tm/settings
> >
> > diff --git a/tools/testing/selftests/powerpc/benchmarks/Makefile b/tools/testing/selftests/powerpc/benchmarks/Makefile
> > index d40300a..a32a6ab 100644
> > --- a/tools/testing/selftests/powerpc/benchmarks/Makefile
> > +++ b/tools/testing/selftests/powerpc/benchmarks/Makefile
> > @@ -2,6 +2,8 @@
> > TEST_GEN_PROGS := gettimeofday context_switch fork mmap_bench futex_bench null_syscall
> > TEST_GEN_FILES := exec_target
> >
> > +TEST_FILES := settings
> > +
> > CFLAGS += -O2
> >
> > top_srcdir = ../../../../..
> > diff --git a/tools/testing/selftests/powerpc/benchmarks/settings b/tools/testing/selftests/powerpc/benchmarks/settings
> > new file mode 100644
> > index 0000000..e7b9417
> > --- /dev/null
> > +++ b/tools/testing/selftests/powerpc/benchmarks/settings
> > @@ -0,0 +1 @@
> > +timeout=0
> > diff --git a/tools/testing/selftests/powerpc/dscr/Makefile b/tools/testing/selftests/powerpc/dscr/Makefile
> > index 5df4763..cfa6eed 100644
> > --- a/tools/testing/selftests/powerpc/dscr/Makefile
> > +++ b/tools/testing/selftests/powerpc/dscr/Makefile
> > @@ -3,6 +3,8 @@ TEST_GEN_PROGS := dscr_default_test dscr_explicit_test dscr_user_test \
> > dscr_inherit_test dscr_inherit_exec_test dscr_sysfs_test \
> > dscr_sysfs_thread_test
> >
> > +TEST_FILES := settings
> > +
> > top_srcdir = ../../../../..
> > include ../../lib.mk
> >
> > diff --git a/tools/testing/selftests/powerpc/dscr/settings b/tools/testing/selftests/powerpc/dscr/settings
> > new file mode 100644
> > index 0000000..e7b9417
> > --- /dev/null
> > +++ b/tools/testing/selftests/powerpc/dscr/settings
> > @@ -0,0 +1 @@
> > +timeout=0
> > diff --git a/tools/testing/selftests/powerpc/signal/Makefile b/tools/testing/selftests/powerpc/signal/Makefile
> > index 113838f..153fafc 100644
> > --- a/tools/testing/selftests/powerpc/signal/Makefile
> > +++ b/tools/testing/selftests/powerpc/signal/Makefile
> > @@ -5,6 +5,8 @@ CFLAGS += -maltivec
> > $(OUTPUT)/signal_tm: CFLAGS += -mhtm
> > $(OUTPUT)/sigfuz: CFLAGS += -pthread -m64
> >
> > +TEST_FILES := settings
> > +
> > top_srcdir = ../../../../..
> > include ../../lib.mk
> >
> > diff --git a/tools/testing/selftests/powerpc/signal/settings b/tools/testing/selftests/powerpc/signal/settings
> > new file mode 100644
> > index 0000000..e7b9417
> > --- /dev/null
> > +++ b/tools/testing/selftests/powerpc/signal/settings
> > @@ -0,0 +1 @@
> > +timeout=0
> > diff --git a/tools/testing/selftests/powerpc/tm/Makefile b/tools/testing/selftests/powerpc/tm/Makefile
> > index b15a1a3..7b99d09 100644
> > --- a/tools/testing/selftests/powerpc/tm/Makefile
> > +++ b/tools/testing/selftests/powerpc/tm/Makefile
> > @@ -7,6 +7,8 @@ TEST_GEN_PROGS := tm-resched-dscr tm-syscall tm-signal-msr-resv tm-signal-stack
> > $(SIGNAL_CONTEXT_CHK_TESTS) tm-sigreturn tm-signal-sigreturn-nt \
> > tm-signal-context-force-tm tm-poison
> >
> > +TEST_FILES := settings
> > +
> > top_srcdir = ../../../../..
> > include ../../lib.mk
> >
> > diff --git a/tools/testing/selftests/powerpc/tm/settings b/tools/testing/selftests/powerpc/tm/settings
> > new file mode 100644
> > index 0000000..e7b9417
> > --- /dev/null
> > +++ b/tools/testing/selftests/powerpc/tm/settings
> > @@ -0,0 +1 @@
> > +timeout=0
> > --
> > 2.7.4