Message ID | 146424974323.5666.5471538288045048119.stgit@bahia.huguette.org |
---|---|
State | New |
Headers | show |
On Thu, May 26, 2016 at 10:02:23AM +0200, Greg Kurz wrote: > As stated in linux/Documentation/virtual/kvm/api.txt: > > The maximum possible value for max_vcpu_id can be retrieved using the > KVM_CAP_MAX_VCPU_ID of the KVM_CHECK_EXTENSION ioctl() at run-time. > > If the KVM_CAP_MAX_VCPU_ID does not exist, you should assume that > max_vcpu_id is the same as the value returned from KVM_CAP_MAX_VCPUS. > > Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> > --- > kvm-all.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/kvm-all.c b/kvm-all.c > index e56f38527815..e74e0c6e2352 100644 > --- a/kvm-all.c > +++ b/kvm-all.c > @@ -1459,10 +1459,16 @@ static int kvm_max_vcpus(KVMState *s) > return (ret) ? ret : kvm_recommended_vcpus(s); > } > > +static int kvm_max_vcpu_id(KVMState *s) > +{ > + int ret = kvm_check_extension(s, KVM_CAP_MAX_VCPU_ID); > + return (ret) ? ret : kvm_max_vcpus(s); > +} > + > bool kvm_vcpu_id_is_valid(int vcpu_id) > { > KVMState *s = KVM_STATE(current_machine->accelerator); > - return vcpu_id >= 0 && vcpu_id < kvm_max_vcpus(s); > + return vcpu_id >= 0 && vcpu_id < kvm_max_vcpu_id(s); > } > > static int kvm_init(MachineState *ms) >
On Fri, 27 May 2016 13:58:28 +1000 David Gibson <david@gibson.dropbear.id.au> wrote: > On Thu, May 26, 2016 at 10:02:23AM +0200, Greg Kurz wrote: > > As stated in linux/Documentation/virtual/kvm/api.txt: > > > > The maximum possible value for max_vcpu_id can be retrieved using the > > KVM_CAP_MAX_VCPU_ID of the KVM_CHECK_EXTENSION ioctl() at run-time. > > > > If the KVM_CAP_MAX_VCPU_ID does not exist, you should assume that > > max_vcpu_id is the same as the value returned from KVM_CAP_MAX_VCPUS. > > > > Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com> > > Reviewed-by: David Gibson <david@gibson.dropbear.id.au> > Paolo, FYI Patch 1/3 was in David's pull request earlier today. It is now upstream. You may now apply 2/3 and 3/3. Thanks ! -- Greg > > --- > > kvm-all.c | 8 +++++++- > > 1 file changed, 7 insertions(+), 1 deletion(-) > > > > diff --git a/kvm-all.c b/kvm-all.c > > index e56f38527815..e74e0c6e2352 100644 > > --- a/kvm-all.c > > +++ b/kvm-all.c > > @@ -1459,10 +1459,16 @@ static int kvm_max_vcpus(KVMState *s) > > return (ret) ? ret : kvm_recommended_vcpus(s); > > } > > > > +static int kvm_max_vcpu_id(KVMState *s) > > +{ > > + int ret = kvm_check_extension(s, KVM_CAP_MAX_VCPU_ID); > > + return (ret) ? ret : kvm_max_vcpus(s); > > +} > > + > > bool kvm_vcpu_id_is_valid(int vcpu_id) > > { > > KVMState *s = KVM_STATE(current_machine->accelerator); > > - return vcpu_id >= 0 && vcpu_id < kvm_max_vcpus(s); > > + return vcpu_id >= 0 && vcpu_id < kvm_max_vcpu_id(s); > > } > > > > static int kvm_init(MachineState *ms) > > >
On Fri, 27 May 2016 13:16:49 +0200 Greg Kurz <gkurz@linux.vnet.ibm.com> wrote: > On Fri, 27 May 2016 13:58:28 +1000 > David Gibson <david@gibson.dropbear.id.au> wrote: > > > On Thu, May 26, 2016 at 10:02:23AM +0200, Greg Kurz wrote: > > > As stated in linux/Documentation/virtual/kvm/api.txt: > > > > > > The maximum possible value for max_vcpu_id can be retrieved using the > > > KVM_CAP_MAX_VCPU_ID of the KVM_CHECK_EXTENSION ioctl() at run-time. > > > > > > If the KVM_CAP_MAX_VCPU_ID does not exist, you should assume that > > > max_vcpu_id is the same as the value returned from KVM_CAP_MAX_VCPUS. > > > > > > Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com> > > > > Reviewed-by: David Gibson <david@gibson.dropbear.id.au> > > > > Paolo, > > FYI Patch 1/3 was in David's pull request earlier today. It is now upstream. > > You may now apply 2/3 and 3/3. > > Thanks ! > > -- > Greg > Ping ? > > > --- > > > kvm-all.c | 8 +++++++- > > > 1 file changed, 7 insertions(+), 1 deletion(-) > > > > > > diff --git a/kvm-all.c b/kvm-all.c > > > index e56f38527815..e74e0c6e2352 100644 > > > --- a/kvm-all.c > > > +++ b/kvm-all.c > > > @@ -1459,10 +1459,16 @@ static int kvm_max_vcpus(KVMState *s) > > > return (ret) ? ret : kvm_recommended_vcpus(s); > > > } > > > > > > +static int kvm_max_vcpu_id(KVMState *s) > > > +{ > > > + int ret = kvm_check_extension(s, KVM_CAP_MAX_VCPU_ID); > > > + return (ret) ? ret : kvm_max_vcpus(s); > > > +} > > > + > > > bool kvm_vcpu_id_is_valid(int vcpu_id) > > > { > > > KVMState *s = KVM_STATE(current_machine->accelerator); > > > - return vcpu_id >= 0 && vcpu_id < kvm_max_vcpus(s); > > > + return vcpu_id >= 0 && vcpu_id < kvm_max_vcpu_id(s); > > > } > > > > > > static int kvm_init(MachineState *ms) > > > > > > >
On Fri, 27 May 2016 13:16:49 +0200 Greg Kurz <gkurz@linux.vnet.ibm.com> wrote: > On Fri, 27 May 2016 13:58:28 +1000 > David Gibson <david@gibson.dropbear.id.au> wrote: > > > On Thu, May 26, 2016 at 10:02:23AM +0200, Greg Kurz wrote: > > > As stated in linux/Documentation/virtual/kvm/api.txt: > > > > > > The maximum possible value for max_vcpu_id can be retrieved using the > > > KVM_CAP_MAX_VCPU_ID of the KVM_CHECK_EXTENSION ioctl() at run-time. > > > > > > If the KVM_CAP_MAX_VCPU_ID does not exist, you should assume that > > > max_vcpu_id is the same as the value returned from KVM_CAP_MAX_VCPUS. > > > > > > Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com> > > > > Reviewed-by: David Gibson <david@gibson.dropbear.id.au> > > > > Paolo, > > FYI Patch 1/3 was in David's pull request earlier today. It is now upstream. > > You may now apply 2/3 and 3/3. > > Thanks ! > Hi Paolo, Just a friendly reminder. Without this patch, we cannot create more than 128 single-threaded vCPUs on POWER8 if the host has unsplit cores. Thanks ! -- Greg > -- > Greg > > > > --- > > > kvm-all.c | 8 +++++++- > > > 1 file changed, 7 insertions(+), 1 deletion(-) > > > > > > diff --git a/kvm-all.c b/kvm-all.c > > > index e56f38527815..e74e0c6e2352 100644 > > > --- a/kvm-all.c > > > +++ b/kvm-all.c > > > @@ -1459,10 +1459,16 @@ static int kvm_max_vcpus(KVMState *s) > > > return (ret) ? ret : kvm_recommended_vcpus(s); > > > } > > > > > > +static int kvm_max_vcpu_id(KVMState *s) > > > +{ > > > + int ret = kvm_check_extension(s, KVM_CAP_MAX_VCPU_ID); > > > + return (ret) ? ret : kvm_max_vcpus(s); > > > +} > > > + > > > bool kvm_vcpu_id_is_valid(int vcpu_id) > > > { > > > KVMState *s = KVM_STATE(current_machine->accelerator); > > > - return vcpu_id >= 0 && vcpu_id < kvm_max_vcpus(s); > > > + return vcpu_id >= 0 && vcpu_id < kvm_max_vcpu_id(s); > > > } > > > > > > static int kvm_init(MachineState *ms) > > > > > > >
On 13/06/2016 10:42, Greg Kurz wrote: > On Fri, 27 May 2016 13:16:49 +0200 > Greg Kurz <gkurz@linux.vnet.ibm.com> wrote: > >> On Fri, 27 May 2016 13:58:28 +1000 >> David Gibson <david@gibson.dropbear.id.au> wrote: >> >>> On Thu, May 26, 2016 at 10:02:23AM +0200, Greg Kurz wrote: >>>> As stated in linux/Documentation/virtual/kvm/api.txt: >>>> >>>> The maximum possible value for max_vcpu_id can be retrieved using the >>>> KVM_CAP_MAX_VCPU_ID of the KVM_CHECK_EXTENSION ioctl() at run-time. >>>> >>>> If the KVM_CAP_MAX_VCPU_ID does not exist, you should assume that >>>> max_vcpu_id is the same as the value returned from KVM_CAP_MAX_VCPUS. >>>> >>>> Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com> >>> >>> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> >>> >> >> Paolo, >> >> FYI Patch 1/3 was in David's pull request earlier today. It is now upstream. >> >> You may now apply 2/3 and 3/3. >> >> Thanks ! >> > > Hi Paolo, > > Just a friendly reminder. Without this patch, we cannot create more than > 128 single-threaded vCPUs on POWER8 if the host has unsplit cores. Thanks! Paolo
diff --git a/kvm-all.c b/kvm-all.c index e56f38527815..e74e0c6e2352 100644 --- a/kvm-all.c +++ b/kvm-all.c @@ -1459,10 +1459,16 @@ static int kvm_max_vcpus(KVMState *s) return (ret) ? ret : kvm_recommended_vcpus(s); } +static int kvm_max_vcpu_id(KVMState *s) +{ + int ret = kvm_check_extension(s, KVM_CAP_MAX_VCPU_ID); + return (ret) ? ret : kvm_max_vcpus(s); +} + bool kvm_vcpu_id_is_valid(int vcpu_id) { KVMState *s = KVM_STATE(current_machine->accelerator); - return vcpu_id >= 0 && vcpu_id < kvm_max_vcpus(s); + return vcpu_id >= 0 && vcpu_id < kvm_max_vcpu_id(s); } static int kvm_init(MachineState *ms)
As stated in linux/Documentation/virtual/kvm/api.txt: The maximum possible value for max_vcpu_id can be retrieved using the KVM_CAP_MAX_VCPU_ID of the KVM_CHECK_EXTENSION ioctl() at run-time. If the KVM_CAP_MAX_VCPU_ID does not exist, you should assume that max_vcpu_id is the same as the value returned from KVM_CAP_MAX_VCPUS. Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com> --- kvm-all.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)