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

Chunyan Zhang zhang.lyra at gmail.com
Sun Mar 30 19:00:56 PDT 2025


Hi Alex,

On Sun, 30 Mar 2025 at 21:51, Alexandre Ghiti <alex at ghiti.fr> wrote:
>
> Hi Chunyan,
>
> On 13/11/2024 10:58, Chunyan Zhang wrote:
> > This patchset adds soft dirty and userfaultfd write protect tracking
> > support for RISC-V.
> >
> > As described in the patches, we are trying to utilize only one free PTE
> > bit(9) to support three kernel features (devmap, soft-dirty, uffd-wp).
> > Users cannot have them supported at the same time (have to select
> > one when building the kernel).
> >
> > This patchset has been tested with:
> > 1) The 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.
> >
> > 2) CRIU:
> > - 'criu check --feature mem_dirty_track' returns supported;
> > - incremental_dumps[1] and simple_loop [2] dump and restores work fine;
> > - zdtm test suite can run under host mode.
> >
> > This patchset applies on top of v6.12-rc7.
> >
> > 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://www.criu.org/Incremental_dumps
> > [2] https://asciinema.org/a/232445
> >
> > Chunyan Zhang (3):
> >    riscv: mm: Prepare for reusing PTE RSW bit(9)
> >    riscv: mm: Add soft-dirty page tracking support
> >    riscv: mm: Add uffd write-protect support
> >
> >   arch/riscv/Kconfig                    |  34 ++++++-
> >   arch/riscv/include/asm/pgtable-64.h   |   2 +-
> >   arch/riscv/include/asm/pgtable-bits.h |  31 ++++++
> >   arch/riscv/include/asm/pgtable.h      | 133 +++++++++++++++++++++++++-
> >   4 files changed, 197 insertions(+), 3 deletions(-)
>
>
> As mentioned by Deepak, there is a new proposed extension Svrsw60t59b
> which will free 2 more bits. It would help if you can come up with a new
> version of this patchset using this new extension, would you mind

Sure, I will cook up a new patchset using Svrsw60t59b, and will submit
the new patchset after v6.15-rc1 is released.

> working on this? If not possible, let's discuss how I can help.

No worries, and thanks for the reminder, I didn't notice this new
extension supported in the kernel.

Thanks,
Chunyan

>
> Thanks,
>
> Alex
>



More information about the linux-riscv mailing list