From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38521) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a7EKt-0002OH-Vy for qemu-devel@nongnu.org; Thu, 10 Dec 2015 22:25:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a7EKp-0000Ns-QL for qemu-devel@nongnu.org; Thu, 10 Dec 2015 22:25:35 -0500 Received: from e23smtp02.au.ibm.com ([202.81.31.144]:52758) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a7EKp-0000Ni-9m for qemu-devel@nongnu.org; Thu, 10 Dec 2015 22:25:31 -0500 Received: from localhost by e23smtp02.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 11 Dec 2015 13:25:28 +1000 Received: from d23relay08.au.ibm.com (d23relay08.au.ibm.com [9.185.71.33]) by d23dlp03.au.ibm.com (Postfix) with ESMTP id D31083578054 for ; Fri, 11 Dec 2015 14:25:26 +1100 (EST) Received: from d23av03.au.ibm.com (d23av03.au.ibm.com [9.190.234.97]) by d23relay08.au.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id tBB3P0Wv20512800 for ; Fri, 11 Dec 2015 14:25:08 +1100 Received: from d23av03.au.ibm.com (localhost [127.0.0.1]) by d23av03.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id tBB3Oslt015512 for ; Fri, 11 Dec 2015 14:24:54 +1100 Date: Fri, 11 Dec 2015 08:54:31 +0530 From: Bharata B Rao Message-ID: <20151211032431.GB18759@in.ibm.com> References: <1449728144-6223-1-git-send-email-bharata@linux.vnet.ibm.com> <1449728144-6223-2-git-send-email-bharata@linux.vnet.ibm.com> <20151210102528.GB28508@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151210102528.GB28508@redhat.com> Subject: Re: [Qemu-devel] [RFC PATCH v0 1/9] vl: Don't allow CPU toplogies with partially filled cores Reply-To: bharata@linux.vnet.ibm.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Daniel P. Berrange" Cc: peter.maydell@linaro.org, ehabkost@redhat.com, agraf@suse.de, qemu-devel@nongnu.org, borntraeger@de.ibm.com, pbonzini@redhat.com, imammedo@redhat.com, afaerber@suse.de, david@gibson.dropbear.id.au On Thu, Dec 10, 2015 at 10:25:28AM +0000, Daniel P. Berrange wrote: > On Thu, Dec 10, 2015 at 11:45:36AM +0530, Bharata B Rao wrote: > > Prevent guests from booting with CPU topologies that have partially > > filled CPU cores or can result in partially filled CPU cores after CPU > > hotplug like > > > > -smp 15,sockets=1,cores=4,threads=4,maxcpus=16 or > > -smp 15,sockets=1,cores=4,threads=4,maxcpus=17 or > > > > Signed-off-by: Bharata B Rao > > --- > > vl.c | 13 +++++++++++++ > > 1 file changed, 13 insertions(+) > > > > diff --git a/vl.c b/vl.c > > index 525929b..e656f53 100644 > > --- a/vl.c > > +++ b/vl.c > > @@ -1252,6 +1252,19 @@ static void smp_parse(QemuOpts *opts) > > smp_cores = cores > 0 ? cores : 1; > > smp_threads = threads > 0 ? threads : 1; > > > > + if (smp_cpus % smp_threads) { > > + error_report("cpu topology: " > > + "smp_cpus (%u) should be multiple of threads (%u)", > > + smp_cpus, smp_threads); > > + exit(1); > > + } > > + > > + if (max_cpus % smp_threads) { > > + error_report("cpu topology: " > > + "maxcpus (%u) should be multiple of threads (%u)", > > + max_cpus, smp_threads); > > + exit(1); > > + } > > } > > Adding this seems like it has a pretty high chance of causing regression, > ie preventing previously working guests from booting with new QEMU. I > know adding the check makes sense from a semantic POV, but are we willing > to risk breaking people with such odd configurations ? I wasn't sure about how much risk that would be and hence in my older version of PowerPC CPU hotplug patchset, I indeed supported such topologies: https://lists.gnu.org/archive/html/qemu-ppc/2015-09/msg00102.html But the code indeed looked ugly to support such special case. There was some discussion about this recently here: http://lists.gnu.org/archive/html/qemu-devel/2015-12/msg00396.html from where I sensed that it may be ok to dis-allow such topologies. Regards, Bharata.