[PATCH v3 0/5] KVM: arm64: nv: Implement nested stage-2 reverse map

Wei-Lin Chang weilin.chang at arm.com
Mon Jul 13 22:47:54 PDT 2026


On Tue, Jul 14, 2026 at 08:10:48AM +0900, Itaru Kitayama wrote:
> On Sun, May 10, 2026 at 03:53:33PM +0100, Wei-Lin Chang wrote:
> > Hi,
> > 
> > This is v3 of optimizing the shadow s2 mmu unmapping during MMU
> > notifiers.
> > 
> > Two new preparatory patches are added, one reduces a hole in kvm_s2_mmu
> > and another refactors the code a bit during s2 faults. Other changes are
> > listed below.
> > 
> > * Changes from v2 [1]:
> > 
> >   - Removed "polluted" teminology.
> > 
> >   - Use xa_{mk, to}_value() when storing and retriving values from maple
> >     trees.
> > 
> >   - Avoid using the 63rd bit in maple tree values so that xa_{mk, to}_value()
> >     does not lose us a bit.
> > 
> >   - Added reverse map removal during TLBI handling.
> > 
> >   - Other suggested refactorings.
> > 
> > Thanks!
> 
> Hi Wei-Lin
> As this series is no longer cleanly applied on top of the recent kvmarm/fixes,
> I wonder if you could update the series; I can wait if you're in the
> works of preparing v4. I am planning to test this series on HW with your
> proposed nested virtualization KVM selftests.

Hey Itaru,

Sorry for the delay. I have been working on something else in parallel
hence I haven't updated this series for a while. Yes I am almost done
preparing v4, it should be posted sometime this week.

Thanks for your feedback and testing!

Thanks,
Wei-Lin Chang

> 
> Thanks,
> Itaru.
> 
> > 
> > [1]: https://lore.kernel.org/kvmarm/20260411125024.3735989-1-weilin.chang@arm.com/
> > 
> > Wei-Lin Chang (5):
> >   KVM: arm64: Use a variable for the canonical GPA in kvm_s2_fault_map()
> >   KVM: arm64: Move shadow_pt_debugfs_dentry to reduce holes in
> >     kvm_s2_mmu
> >   KVM: arm64: nv: Avoid full shadow s2 unmap
> >   KVM: arm64: nv: Remove reverse map entries during TLBI handling
> >   KVM: arm64: nv: Create nested IPA direct map to speed up reverse map
> >     removal
> > 
> >  arch/arm64/include/asm/kvm_host.h   |  17 +-
> >  arch/arm64/include/asm/kvm_nested.h |   6 +
> >  arch/arm64/kvm/mmu.c                |  43 +++--
> >  arch/arm64/kvm/nested.c             | 238 +++++++++++++++++++++++++++-
> >  arch/arm64/kvm/sys_regs.c           |   3 +
> >  5 files changed, 290 insertions(+), 17 deletions(-)
> > 
> > -- 
> > 2.43.0
> > 



More information about the linux-arm-kernel mailing list