[PATCH V6 0/2] riscv: mm: Add soft-dirty and uffd-wp support

Chunyan Zhang zhangchunyan at iscas.ac.cn
Tue Apr 8 01:42:59 PDT 2025


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 at intel.com>.

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




More information about the linux-riscv mailing list