From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59269) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFNmu-0001jW-Jz for qemu-devel@nongnu.org; Tue, 21 Jun 2016 11:40:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bFNmp-0002EG-Ao for qemu-devel@nongnu.org; Tue, 21 Jun 2016 11:40:27 -0400 Received: from mx1.redhat.com ([209.132.183.28]:39768) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFNmp-0002Dy-2D for qemu-devel@nongnu.org; Tue, 21 Jun 2016 11:40:23 -0400 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 092F571097 for ; Tue, 21 Jun 2016 15:40:22 +0000 (UTC) Date: Tue, 21 Jun 2016 17:40:13 +0200 From: Igor Mammedov Message-ID: <20160621174013.79a54c74@igors-macbook-pro.local> In-Reply-To: <1466086585-16526-31-git-send-email-pbonzini@redhat.com> References: <1466086585-16526-1-git-send-email-pbonzini@redhat.com> <1466086585-16526-31-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PULL 30/30] vl: smp_parse: cleanups List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: qemu-devel@nongnu.org, Andrew Jones On Thu, 16 Jun 2016 16:16:25 +0200 Paolo Bonzini wrote: > From: Andrew Jones > > No functional changes; only some code movement and removal of > dead code (impossible conditions). Also, max_cpus can be > initialized to 1, like smp_cpus, because it's either set by the > user or set to smp_cpus, when smp_cpus is set by the user, or > set to 1, when nothing is set. > > Signed-off-by: Andrew Jones > Message-Id: <1465580427-13596-2-git-send-email-drjones@redhat.com> > Signed-off-by: Paolo Bonzini this patch broke master with following CLI -machine q35,accel=tcg -smp 2,cores=3,sockets=2,maxcpus=6 > --- > vl.c | 34 +++++++++++++++------------------- > 1 file changed, 15 insertions(+), 19 deletions(-) > > diff --git a/vl.c b/vl.c > index 99c3030..e69ebfd 100644 > --- a/vl.c > +++ b/vl.c > @@ -154,7 +154,7 @@ CharDriverState *sclp_hds[MAX_SCLP_CONSOLES]; > int win2k_install_hack = 0; > int singlestep = 0; > int smp_cpus = 1; > -int max_cpus = 0; > +int max_cpus = 1; > int smp_cores = 1; > int smp_threads = 1; > int acpi_enabled = 1; > @@ -1223,7 +1223,6 @@ static QemuOptsList qemu_smp_opts = { > static void smp_parse(QemuOpts *opts) > { > if (opts) { > - > unsigned cpus = qemu_opt_get_number(opts, "cpus", 0); > unsigned sockets = qemu_opt_get_number(opts, "sockets", 0); > unsigned cores = qemu_opt_get_number(opts, "cores", 0); > @@ -1251,6 +1250,17 @@ static void smp_parse(QemuOpts *opts) > } > > max_cpus = qemu_opt_get_number(opts, "maxcpus", cpus); > + > + if (max_cpus > MAX_CPUMASK_BITS) { > + error_report("unsupported number of maxcpus"); > + exit(1); > + } > + > + if (max_cpus < cpus) { > + error_report("maxcpus must be equal to or greater than > smp"); > + exit(1); > + } > + > if (sockets * cores * threads > max_cpus) { > error_report("cpu topology: " > "sockets (%u) * cores (%u) * threads (%u) > > " @@ -1260,25 +1270,11 @@ static void smp_parse(QemuOpts *opts) > } > > smp_cpus = cpus; > - smp_cores = cores > 0 ? cores : 1; > - smp_threads = threads > 0 ? threads : 1; > - > - } > - > - if (max_cpus == 0) { > - max_cpus = smp_cpus; > - } > - > - if (max_cpus > MAX_CPUMASK_BITS) { > - error_report("unsupported number of maxcpus"); > - exit(1); > - } > - if (max_cpus < smp_cpus) { > - error_report("maxcpus must be equal to or greater than smp"); > - exit(1); > + smp_cores = cores; > + smp_threads = threads; > } > > - if (smp_cpus > 1 || smp_cores > 1 || smp_threads > 1) { > + if (smp_cpus > 1) { > Error *blocker = NULL; > error_setg(&blocker, QERR_REPLAY_NOT_SUPPORTED, "smp"); > replay_add_blocker(blocker);