Re: [PATCH 00/21] KVM: Cleanup and unify kvm_mmu_memory_cache usage

Marc Zyngier
2020-06-11T08:06:56Z

Hi Sean,

On 2020-06-05 22:38, Sean Christopherson wrote:
> This series resurrects Christoffer Dall's series[1] to provide a common
> MMU memory cache implementation that can be shared by x86, arm64 and
> MIPS.
>
> It also picks up a suggested change from Ben Gardon[2] to clear shadow
> page tables during initial allocation so as to avoid clearing entire
> pages while holding mmu_lock.
>
> The front half of the patches do house cleaning on x86's memory cache
> implementation in preparation for moving it to common code, along with
> a
> fair bit of cleanup on the usage. The middle chunk moves the patches
> to
> common KVM, and the last two chunks convert arm64 and MIPS to the
> common
> implementation.
>
> Cleanup aside, the notable difference from Christoffer and Ben's
> proposed
> patches is to make __GFP_ZERO optional, e.g. to allow x86 to skip
> zeroing
> for its gfns array and to provide line of sight for my
> cannot-yet-be-discussed-in-detail use case for non-zero initialized
> shadow
> page tables[3].
>
> Tested on x86 only, no testing whatsoever on arm64 or MIPS.

I've given it a go on a small bunch of arm64 boxes, and nothing caught
fire!
As Ben noticed, the series isn't bisectable (easily fixed) and there is
some
nagging conflicts with the current state of mainline.

Overall, a very welcome cleanup. The only point of contention is the
change
in allocation accounting on arm64, but there is an easy fix for that.

Thanks,

M.
--
Jazz is not dead. It just smells funny...