mbox series

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

Message ID 20250408084301.68186-1-zhangchunyan@iscas.ac.cn (mailing list archive)
Headers show
Series riscv: mm: Add soft-dirty and uffd-wp support | expand

Message

Chunyan Zhang April 8, 2025, 8:42 a.m. UTC
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@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(-)

Comments

Chunyan Zhang April 8, 2025, 9:21 a.m. UTC | #1
On Tue, 8 Apr 2025 at 16:43, Chunyan Zhang <zhangchunyan@iscas.ac.cn> wrote:
>
> 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.

This should be an RFC patchset, we should be able to enable these two
features only when the extension Svrsw60t59b is valid, I will add that
check in the next version of patchset.

Thanks,
Chunyan

>
> 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@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
>