Re: [PATCH V8 0/3] riscv: mm: Add soft-dirty and uffd-wp support
From: Chunyan Zhang
Date: Thu Jun 19 2025 - 05:35:04 EST
On Thu, 19 Jun 2025 at 15:27, Chunyan Zhang <zhangchunyan@xxxxxxxxxxx> wrote:
>
> This patchset adds Svrsw60t59b [1] extension support, also soft dirty and userfaultfd
> write protect tracking 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.
>
I also tried CRIU below functions and they can work fine with this patch:
- 'criu check --feature mem_dirty_track' returns supported
- The incremental_dumps works fine (https://www.criu.org/Incremental_dumps)
> This patchset applies on top of v6.16-rc1.
>
> V8:
> - Rebase on v6.16-rc1;
> - Add dependencies to MMU && 64BIT for RISCV_ISA_SVRSW60T59B;
> - Use 'Svrsw60t59b' instead of 'SVRSW60T59B' in Kconfig help paragraph;
> - Add Alex's Reviewed-by tag in patch 1.
>
> V7: (https://lore.kernel.org/all/20250409095320.224100-1-zhangchunyan@xxxxxxxxxxx/)
> - Add Svrsw60t59b [1] extension support;
> - Have soft-dirty and uffd-wp depending on the Svrsw60t59b extension to
> avoid crashes for the hardware which don't have this extension.
>
> V6:
> - Changes to use bits 59-60 which are supported by extension Svrsw60t59b
> 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 (3):
> riscv: Add RISC-V Svrsw60t59b extension support
> riscv: mm: Add soft-dirty page tracking support
> riscv: mm: Add uffd write-protect support
>
> arch/riscv/Kconfig | 16 +++
> arch/riscv/include/asm/hwcap.h | 1 +
> arch/riscv/include/asm/pgtable-bits.h | 37 +++++++
> arch/riscv/include/asm/pgtable.h | 136 +++++++++++++++++++++++++-
> arch/riscv/kernel/cpufeature.c | 1 +
> 5 files changed, 189 insertions(+), 2 deletions(-)
>
> --
> 2.34.1
>