Mark Brown <broonie@xxxxxxxxxx> writes: > Add a stress test which runs one more process than we have CPUs spinning > through a very recursive function with frequent syscalls immediately prior > to return and signals being injected every 100ms. The goal is to flag up > any scheduling related issues, for example failure to ensure that barriers > are inserted when moving a GCS using task to another CPU. The test runs for > a configurable amount of time, defaulting to 10 seconds. > > Reviewed-by: Thiago Jung Bauermann <thiago.bauermann@xxxxxxxxxx> > Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> > --- > tools/testing/selftests/arm64/gcs/.gitignore | 2 + > tools/testing/selftests/arm64/gcs/Makefile | 6 +- > tools/testing/selftests/arm64/gcs/asm-offsets.h | 0 > .../selftests/arm64/gcs/gcs-stress-thread.S | 311 ++++++++++++ > tools/testing/selftests/arm64/gcs/gcs-stress.c | 532 +++++++++++++++++++++ > 5 files changed, 850 insertions(+), 1 deletion(-) This test fails for me, even without THP: $ sudo ./run_kselftest.sh -t arm64:gcs-stress TAP version 13 1..1 # timeout set to 45 # selftests: arm64: gcs-stress # TAP version 13 # 1..9 # # 8 CPUs, 9 GCS threads # # Will run for 10s # # Started Thread-4030 # # Started Thread-4031 # # Started Thread-4032 # # Started Thread-4033 # # Started Thread-4034 # # Started Thread-4035 # # Started Thread-4036 # # Started Thread-4037 # # Started Thread-4038 # # Waiting for 9 children # # Waiting for 9 children # # Thread-4030: Failed to enable GCS # # Thread-4031: Failed to enable GCS # # Thread-4032: Failed to enable GCS # # Thread-4033: Failed to enable GCS # # Thread-4034: Failed to enable GCS # # Thread-4035: Failed to enable GCS # # Thread-4036: Failed to enable GCS # # Thread-4038: Failed to enable GCS # # Thread-4037: Failed to enable GCS # # Sending signals, timeout remaining: 10000ms # # Sending signals, timeout remaining: 9900ms ⋮ # # Sending signals, timeout remaining: 200ms # # Sending signals, timeout remaining: 100ms # # Finishing up... # # Thread-4030 exited with error code 255 # not ok 1 Thread-4030 # # Thread-4031 exited with error code 255 # not ok 2 Thread-4031 # # Thread-4032 exited with error code 255 # not ok 3 Thread-4032 # # Thread-4033 exited with error code 255 # not ok 4 Thread-4033 # # Thread-4034 exited with error code 255 # not ok 5 Thread-4034 # # Thread-4035 exited with error code 255 # not ok 6 Thread-4035 # # Thread-4036 exited with error code 255 # not ok 7 Thread-4036 # # Thread-4037 exited with error code 255 # not ok 8 Thread-4037 # # Thread-4038 exited with error code 255 # not ok 9 Thread-4038 # # Totals: pass:0 fail:9 xfail:0 xpass:0 skip:0 error:0 ok 1 selftests: arm64: gcs-stress -- Thiago