[PATCH 0/5] KVM: Turn the vcpu array into an xarray
Paolo Bonzini
pbonzini at redhat.com
Wed Nov 17 02:03:40 AEDT 2021
On 11/5/21 20:20, Marc Zyngier wrote:
> The kvm structure is pretty large. A large portion of it is the vcpu
> array, which is 4kB on x86_64 and arm64 as they deal with 512 vcpu
> VMs. Of course, hardly anyone runs VMs this big, so this is often a
> net waste of memory and cache locality.
>
> A possible approach is to turn the fixed-size array into an xarray,
> which results in a net code deletion after a bit of cleanup.
>
> This series is on top of the current linux/master as it touches the
> RISC-V implementation. Only tested on arm64.
Queued, only locally until I get a review for my replacement of patch 4
(see
https://lore.kernel.org/kvm/20211116142205.719375-1-pbonzini@redhat.com/T/).
Paolo
> Marc Zyngier (5):
> KVM: Move wiping of the kvm->vcpus array to common code
> KVM: mips: Use kvm_get_vcpu() instead of open-coded access
> KVM: s390: Use kvm_get_vcpu() instead of open-coded access
> KVM: x86: Use kvm_get_vcpu() instead of open-coded access
> KVM: Convert the kvm->vcpus array to a xarray
>
> arch/arm64/kvm/arm.c | 10 +---------
> arch/mips/kvm/loongson_ipi.c | 4 ++--
> arch/mips/kvm/mips.c | 23 ++---------------------
> arch/powerpc/kvm/powerpc.c | 10 +---------
> arch/riscv/kvm/vm.c | 10 +---------
> arch/s390/kvm/kvm-s390.c | 26 ++++++--------------------
> arch/x86/kvm/vmx/posted_intr.c | 2 +-
> arch/x86/kvm/x86.c | 9 +--------
> include/linux/kvm_host.h | 7 ++++---
> virt/kvm/kvm_main.c | 33 ++++++++++++++++++++++++++-------
> 10 files changed, 45 insertions(+), 89 deletions(-)
>
More information about the Linuxppc-dev
mailing list