Re: [PATCH v3 00/15] KVM: arm64: Parallel stage-2 fault handling

Oliver Upton
2022-10-27T23:39:22Z

On Thu, Oct 27, 2022 at 10:17:37PM +0000, Oliver Upton wrote:
> Presently KVM only takes a read lock for stage 2 faults if it believes
> the fault can be fixed by relaxing permissions on a PTE (write unprotect
> for dirty logging). Otherwise, stage 2 faults grab the write lock, which
> predictably can pile up all the vCPUs in a sufficiently large VM.
>
> Like the TDP MMU for x86, this series loosens the locking around
> manipulations of the stage 2 page tables to allow parallel faults. RCU
> and atomics are exploited to safely build/destroy the stage 2 page
> tables in light of multiple software observers.
>
> Patches 1-4 clean up the context associated with a page table walk / PTE
> visit. This is helpful for:
> - Extending the context passed through for a visit
> - Building page table walkers that operate outside of a kvm_pgtable
> context (e.g. RCU callback)

As is always the case, I failed to update the changelogs when twiddling
things around a bit more.

Specifically, 8/15 and 14/15 don't directly match the diffs anymore. I
wont respin (yet) to avoid bombarding mailboxes.

--
Thanks,
Oliver