[PATCH V6 0/2] riscv: mm: Add soft-dirty and uffd-wp support
From: Chunyan Zhang
Date: Tue Apr 08 2025 - 04:46:14 EST
This patchset adds soft dirty and userfaultfd write protect tracking
support for RISC-V.
This patchset has been tested with kselftest mm suite in which soft-dirty,
madv_populate, test_unmerge_uffd_wp, and uffd-unit-tests run and pass,
and no regressions are observed in any of the other tests.
This patchset applies on top of v6.15-rc1.
V6:
- Changes to use bits 59-60 which are supported by extension Svrsw60t59b [1]
for soft dirty and userfaultfd write protect tracking.
V5:
- Fixed typos and corrected some words in Kconfig and commit message;
- Removed pte_wrprotect() from pte_swp_mkuffd_wp(), this is a copy-paste error;
- Added Alex's Reviewed-by tag in patch 2.
V4:
- Added bit(4) descriptions into "Format of swap PTE".
V3:
- Fixed the issue reported by kernel test irobot <lkp@xxxxxxxxx>.
V1 -> V2:
- Add uffd-wp supported;
- Make soft-dirty uffd-wp and devmap mutually exclusive which all use the same PTE bit;
- Add test results of CRIU in the cover-letter.
[1] https://github.com/riscv/Svrsw60t59b.git
Chunyan Zhang (2):
riscv: mm: Add soft-dirty page tracking support
riscv: mm: Add uffd write-protect support
arch/riscv/Kconfig | 2 +
arch/riscv/include/asm/pgtable-bits.h | 29 ++++++
arch/riscv/include/asm/pgtable.h | 136 +++++++++++++++++++++++++-
3 files changed, 165 insertions(+), 2 deletions(-)
--
2.34.1