On Thu, Feb 16, 2023 at 9:12 PM Yu Zhao <yuz...@google.com> 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 <yuz...@google.com> > --- > 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.