[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240815030403.832489-1-zhangchunyan@iscas.ac.cn>
Date: Thu, 15 Aug 2024 11:04:00 +0800
From: Chunyan Zhang <zhangchunyan@...as.ac.cn>
To: Paul Walmsley <paul.walmsley@...ive.com>,
Palmer Dabbelt <palmer@...belt.com>,
Albert Ou <aou@...s.berkeley.edu>,
Andrew Morton <akpm@...ux-foundation.org>,
Alexandre Ghiti <alex@...ti.fr>
Cc: linux-riscv@...ts.infradead.org,
linux-kernel@...r.kernel.org,
Chunyan Zhang <zhang.lyra@...il.com>
Subject: [PATCH V4 0/3] riscv: mm: Add soft-dirty and uffd-wp support
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.
V4:
- Added bit(4) descriptions into "Format of swap PTE".
V3:
- Fixed the issue reported by kernel test irobot <lkp@...el.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(-)
--
2.34.1
Powered by blists - more mailing lists