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 | 530 +++++++++++++++++++++ > 5 files changed, 848 insertions(+), 1 deletion(-) Unfortunately, gcs-stress still fails on my FVP setup. I tested on an arm64 defconfig with and without THP enabled with, the same results: $ sudo ./run_kselftest.sh -t arm64:gcs-stress -o 600 TAP version 13 1..1 # overriding timeout to 600 # selftests: arm64: gcs-stress # TAP version 13 # 1..9 # # 8 CPUs, 9 GCS threads # # Will run for 10s # # Started Thread-4870 # # Started Thread-4871 # # Started Thread-4872 # # Started Thread-4873 # # Started Thread-4874 # # Started Thread-4875 # # Started Thread-4876 # # Started Thread-4877 # # Started Thread-4878 # # Waiting for 9 children # # Waiting for 9 children # # Thread-4870: Failed to enable GCS # # Thread-4871: Failed to enable GCS # # Thread-4872: Failed to enable GCS # # Thread-4873: Failed to enable GCS # # Thread-4876: Failed to enable GCS # # Thread-4875: Failed to enable GCS # # Thread-4874: Failed to enable GCS # # Thread-4878: Failed to enable GCS # # Thread-4877: Failed to enable GCS # # Sending signals, timeout remaining: 10000ms # # Sending signals, timeout remaining: 9900ms # # Sending signals, timeout remaining: 9800ms ⋮ # # Sending signals, timeout remaining: 300ms # # Sending signals, timeout remaining: 200ms # # Sending signals, timeout remaining: 100ms # # Finishing up... # # Thread-4870 exited with error code 255 # not ok 1 Thread-4870 # # Thread-4871 exited with error code 255 # not ok 2 Thread-4871 # # Thread-4872 exited with error code 255 # not ok 3 Thread-4872 # # Thread-4873 exited with error code 255 # not ok 4 Thread-4873 # # Thread-4874 exited with error code 255 # not ok 5 Thread-4874 # # Thread-4875 exited with error code 255 # not ok 6 Thread-4875 # # Thread-4876 exited with error code 255 # not ok 7 Thread-4876 # # Thread-4877 exited with error code 255 # not ok 8 Thread-4877 # # Thread-4878 exited with error code 255 # not ok 9 Thread-4878 # # Totals: pass:0 fail:9 xfail:0 xpass:0 skip:0 error:0 ok 1 selftests: arm64: gcs-stress bauermann@armv94:/var/tmp/selftests-arm64-gcs-v10$ echo $? 0 -- Thiago