Re: [PATCH v3 00/15] KVM: Dynamically size memslot arrays
From: Christoffer Dall <hidden>
Date: 2019-10-25 13:28:05
Also in:
kvm, kvmarm, linux-mips, lkml
On Thu, Oct 24, 2019 at 04:07:29PM -0700, Sean Christopherson wrote:
The end goal of this series is to dynamically size the memslot array so that KVM allocates memory based on the number of memslots in use, as opposed to unconditionally allocating memory for the maximum number of memslots. On x86, each memslot consumes 88 bytes, and so with 2 address spaces of 512 memslots, each VM consumes ~90k bytes for the memslots. E.g. given a VM that uses a total of 30 memslots, dynamic sizing reduces the memory footprint from 90k to ~2.6k bytes. The changes required to support dynamic sizing are relatively small, e.g. are essentially contained in patches 14/15 and 15/15. Patches 1-13 clean up the memslot code, which has gotten quite crusty, especially __kvm_set_memory_region(). The clean up is likely not strictly necessary to switch to dynamic sizing, but I didn't have a remotely reasonable level of confidence in the correctness of the dynamic sizing without first doing the clean up. Christoffer, I added your Tested-by to the patches that I was confident would be fully tested based on the desription of what you tested. Let me know if you disagree with any of 'em.
The only testing I've done of patch 9 would be via the vm_free part of
kvm selftest, so not sure how valid that is, but sure.
Looks fine otherwise.
Thanks,
Christoffer
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel