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


Reply via email to