gup_test.c currently serves two distinct purposes: microbenchmarking
(GUP_FAST_BENCHMARK, PIN_FAST_BENCHMARK, PIN_LONGTERM_BENCHMARK) and
functional correctness testing (GUP_BASIC_TEST, PIN_BASIC_TEST,
DUMP_USER_PAGES_TEST). Mixing these in a single binary means functional
tests cannot be run or reported individually, and run_vmtests.sh has to
invoke the binary multiple times with different flag combinations to cover
all configurations.
Patch 1 adds tools/mm/gup_bench, a standalone benchmark tool that does
not depend on the kselftest infrastructure and can be used independently
of the selftest suite.
Patch 2 rewrites gup_test.c using kselftest_harness to produce clean
TAP output with per-variant test reporting, and simplifies run_vmtests.sh
to a single unconditional invocation of ./gup_test.
---
These patches apply on top of mm/mm-new.
Sarthak Sharma (2):
tools/mm: add a standalone GUP microbenchmark
selftests/mm: rewrite gup_test as a standalone harness-based selftest
MAINTAINERS | 1 +
tools/mm/.gitignore | 2 +
tools/mm/Makefile | 6 +-
tools/mm/gup_bench.c | 491 ++++++++++++++++++++++
tools/testing/selftests/mm/gup_test.c | 404 ++++++++----------
tools/testing/selftests/mm/run_vmtests.sh | 37 +-
6 files changed, 679 insertions(+), 262 deletions(-)
create mode 100644 tools/mm/gup_bench.c
base-commit: 2c3f468717231305523ddcd94d91c0d5e4a72419
--
2.39.5