Re: [PATCH 0/5] KVM: Turn the vcpu array into an xarray

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 16.11.21 15:21, Paolo Bonzini wrote:
On 11/16/21 15:13, Juergen Gross wrote:
On 05.11.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.

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


For x86 you can add my:

Tested-by: Juergen Gross <jgross@xxxxxxxx>

Heh, unfortunately x86 is the only one that needs a change in patch 4. I'll Cc you on my version.

I guess the changes in kvm_main.c are more important for my series. :-)

I've replaced patch 4 with your variant and everything is still working.
Not sure how relevant that is, though.


Juergen

Attachment: OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


[Index of Archives]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux