lkml.org 
[lkml]   [2021]   [Nov]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] KVM: move struct kvm_vcpu * array to the bottom of struct kvm
On Sat, Nov 06, 2021, Nicholas Piggin wrote:
> Excerpts from Sean Christopherson's message of November 6, 2021 12:49 am:
> >> It would next be possible to now make this a dynamically sized array,
> >> and make the KVM_MAX_VCPUS more dynamic
> >
> > Marc has a mostly-baked series to use an xarray[1][2] that AFAICT would be well
> > received. That has my vote, assuming it can get into 5.16. Marc or Juergen,
> > are either of you actively working on that?
> >
> > [1] https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git/log/?h=kvm-arm64/vcpu-xarray
> > [2] https://lkml.kernel.org/r/871r65wwk7.wl-maz@kernel.org
>
> Seems like a good idea if it can allow vcpu structs to be allocated to
> preferred nodes.
>
> >> however x86 kvm_svm uses its own scheme rather than kvm_arch for some reason.
> >
> > What's the problem in kvm_svm?
>
> It embeds a struct kvm so it couldn't be variable sized.

Oooh, when you said "dynamically sized" I thought you meant

struct kvm_vcpu *vcpus;

...

kvm->vcpus = kcalloc(...);

Anyways, SVM and VMX are quite different despited both being x86, to keep them
separated without requiring an extra allocation, kvm_svm and kvm_vmx embed kvm.
Ditto for vcpu_vmx and vmx_svm. Obviously not a hard requirement, but there also
hasn't been a reason not to do embed kvm/kvm_vcpu.

\
 
 \ /
  Last update: 2021-11-08 16:35    [W:0.044 / U:0.116 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site