Hello everyone, This is a series of tests to exercise the sync kernel infrastructure. It is meant to be a test suite for the work Gustavo has been doing to destage it.
These tests were originally part of a battery of tests shipping with Android's libsync that were rewritten to use the new userspace interfaces. This is the second iteration of the test suite. Main changes over v1 are a reworked Makefile and small code style fixes. If you are testing this on v4.9-rc1, do note that the last test will currently fail due to a regression[0]. As usual, all comments are welcome. Cheers! Emilio [0] https://patchwork.kernel.org/patch/9343347/ Emilio López (7): selftest: sync: basic tests for sw_sync framework selftest: sync: fence tests for sw_sync framework selftest: sync: merge tests for sw_sync framework selftest: sync: wait tests for sw_sync framework selftest: sync: stress test for parallelism selftest: sync: stress consumer/producer test selftest: sync: stress test for merges tools/testing/selftests/Makefile | 1 + tools/testing/selftests/sync/.gitignore | 1 + tools/testing/selftests/sync/Makefile | 24 +++ tools/testing/selftests/sync/sw_sync.h | 46 +++++ tools/testing/selftests/sync/sync.c | 221 +++++++++++++++++++++ tools/testing/selftests/sync/sync.h | 40 ++++ tools/testing/selftests/sync/sync_alloc.c | 74 +++++++ tools/testing/selftests/sync/sync_fence.c | 132 ++++++++++++ tools/testing/selftests/sync/sync_merge.c | 60 ++++++ .../testing/selftests/sync/sync_stress_consumer.c | 185 +++++++++++++++++ tools/testing/selftests/sync/sync_stress_merge.c | 115 +++++++++++ .../selftests/sync/sync_stress_parallelism.c | 111 +++++++++++ tools/testing/selftests/sync/sync_test.c | 79 ++++++++ tools/testing/selftests/sync/sync_wait.c | 91 +++++++++ tools/testing/selftests/sync/synctest.h | 66 ++++++ 15 files changed, 1246 insertions(+) create mode 100644 tools/testing/selftests/sync/.gitignore create mode 100644 tools/testing/selftests/sync/Makefile create mode 100644 tools/testing/selftests/sync/sw_sync.h create mode 100644 tools/testing/selftests/sync/sync.c create mode 100644 tools/testing/selftests/sync/sync.h create mode 100644 tools/testing/selftests/sync/sync_alloc.c create mode 100644 tools/testing/selftests/sync/sync_fence.c create mode 100644 tools/testing/selftests/sync/sync_merge.c create mode 100644 tools/testing/selftests/sync/sync_stress_consumer.c create mode 100644 tools/testing/selftests/sync/sync_stress_merge.c create mode 100644 tools/testing/selftests/sync/sync_stress_parallelism.c create mode 100644 tools/testing/selftests/sync/sync_test.c create mode 100644 tools/testing/selftests/sync/sync_wait.c create mode 100644 tools/testing/selftests/sync/synctest.h -- 2.10.1