Re: [PATCH mm-unstable v1 3/5] kvm/arm64: add kvm_arch_test_clear_young()
From: Yu Zhao <hidden>
Date: 2023-02-17 04:22:18
Also in:
kvm, kvmarm, linux-arm-kernel, linux-mm, lkml
From: Yu Zhao <hidden>
Date: 2023-02-17 04:22:18
Also in:
kvm, kvmarm, linux-arm-kernel, linux-mm, lkml
On Thu, Feb 16, 2023 at 9:12 PM Yu Zhao [off-list ref] wrote:
This patch adds kvm_arch_test_clear_young() for the vast majority of VMs that are not pKVM and run on hardware that sets the accessed bit in KVM page tables. It relies on two techniques, RCU and cmpxchg, to safely test and clear the accessed bit without taking the MMU lock. The former protects KVM page tables from being freed while the latter clears the accessed bit atomically against both the hardware and other software page table walkers. Signed-off-by: Yu Zhao <redacted> --- arch/arm64/include/asm/kvm_host.h | 7 +++ arch/arm64/include/asm/kvm_pgtable.h | 8 +++ arch/arm64/include/asm/stage2_pgtable.h | 43 ++++++++++++++ arch/arm64/kvm/arm.c | 1 + arch/arm64/kvm/hyp/pgtable.c | 51 ++-------------- arch/arm64/kvm/mmu.c | 77 ++++++++++++++++++++++++- 6 files changed, 141 insertions(+), 46 deletions(-)
Adding Marc and Will. Can you please add other interested parties that I've missed? Thanks.