From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33654) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bCNRs-00077T-Jd for qemu-devel@nongnu.org; Mon, 13 Jun 2016 04:42:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bCNRo-0005mO-Es for qemu-devel@nongnu.org; Mon, 13 Jun 2016 04:42:20 -0400 Received: from 16.mo7.mail-out.ovh.net ([46.105.72.216]:56346) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bCNRo-0005mJ-8s for qemu-devel@nongnu.org; Mon, 13 Jun 2016 04:42:16 -0400 Received: from player739.ha.ovh.net (b9.ovh.net [213.186.33.59]) by mo7.mail-out.ovh.net (Postfix) with ESMTP id A9E0DFF952A for ; Mon, 13 Jun 2016 10:42:13 +0200 (CEST) Date: Mon, 13 Jun 2016 10:42:03 +0200 From: Greg Kurz Message-ID: <20160613104203.2ac203c9@bahia.lan> In-Reply-To: <20160527131649.5b2756a1@bahia.lab.toulouse-stg.fr.ibm.com> References: <146424972400.5666.10324293617984893259.stgit@bahia.huguette.org> <146424974323.5666.5471538288045048119.stgit@bahia.huguette.org> <20160527035828.GV17226@voom.fritz.box> <20160527131649.5b2756a1@bahia.lab.toulouse-stg.fr.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 3/3] KVM: use KVM_CAP_MAX_VCPU_ID List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: Alexander Graf , qemu-ppc@nongnu.org, qemu-devel@nongnu.org, David Gibson On Fri, 27 May 2016 13:16:49 +0200 Greg Kurz wrote: > On Fri, 27 May 2016 13:58:28 +1000 > David Gibson 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 > > > > Reviewed-by: David Gibson > > > > 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) > > > > > > >