Thread (24 messages) 24 messages, 6 authors, 2021-11-16

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

From: Juergen Gross <jgross@suse.com>
Date: 2021-11-16 14:55:19
Also in: kvm, kvmarm, linux-mips

On 16.11.21 15:21, Paolo Bonzini wrote:
On 11/16/21 15:13, Juergen Gross wrote:
quoted
On 05.11.21 20:20, Marc Zyngier wrote:
quoted
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@suse.com>
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

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help