Re: [PATCH 00/12] KVM: MMU: do not unload MMU roots on all role changes

From: Sean Christopherson
Date: Wed Feb 09 2022 - 12:07:55 EST


On Wed, Feb 09, 2022, Paolo Bonzini wrote:
> The TDP MMU has a performance regression compared to the legacy MMU
> when CR0 changes often. This was reported for the grsecurity kernel,
> which uses CR0.WP to implement kernel W^X. In that case, each change to
> CR0.WP unloads the MMU and causes a lot of unnecessary work. When running
> nested, this can even cause the L1 to hardly make progress, as the L0
> hypervisor it is overwhelmed by the amount of MMU work that is needed.

FWIW, my flushing/zapping series fixes this by doing the teardown in an async
worker. There's even a selftest for this exact case :-)

https://lore.kernel.org/all/20211223222318.1039223-1-seanjc@xxxxxxxxxx