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

Sean Christopherson
2022-02-09T17:07:55Z

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 :-)