Message ID | 20221027221752.1683510-1-oliver.upton@linux.dev (mailing list archive) |
---|---|
Headers | show |
Series | KVM: arm64: Parallel stage-2 fault handling | expand |
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