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

From: Marc Zyngier
Date: Thu Jun 11 2020 - 04:06:55 EST


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...