[PATCH v2 0/2] Introduce a page_fault ioengine for MM workflows

Nico Pache <[email protected]> Wed, 11 Mar 2026 09:51:10 -0600
Newsgroups org.kernel.vger.fio
Message-ID <[email protected]>
This series introduces a new page_fault ioengine for Anonymous memory
testing. This enables using fio’s existing framework and job files for
memory management style workloads without relying on a filesystem. An
example job file is included to demonstrate usage.

The first patch adds the mmap‑backed ioengine that allocates anonymous
memory and copies data on read/write to intentionally trigger faults.

The second patch updates the documentation to guide usage of the new
feature.

V2:
- drop the khugepaged_delay, and all other additional features. This
  provides a clean initial implmentation. Further features will be added
  in future series as we keep testing and discover what will be useful
  for functional and performance testing.
- Changed the byte-by-byte r/w to leverage memcpy
- provide a number of test cases
- hardened the engine by limiting what parameters it can accept,
  preventing undefined or broken behavior
- Use clang-format to adhere to formatting conventions

Signed-off-by: Nico Pache <[email protected]>

Nico Pache (2):
  page_fault: add mmap-backed ioengine for anonymous faults
  Documentation: update the HOWTO to include the page_fault engine

 HOWTO.rst               |   5 ++
 Makefile                |   2 +-
 engines/page_fault.c    | 116 ++++++++++++++++++++++++++++++++++++++++
 examples/page_fault.fio |  60 +++++++++++++++++++++
 4 files changed, 182 insertions(+), 1 deletion(-)
 create mode 100644 engines/page_fault.c
 create mode 100644 examples/page_fault.fio

-- 
2.53.0