From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45688) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZZaFt-0004zt-4X for qemu-devel@nongnu.org; Wed, 09 Sep 2015 03:57:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZZaFp-0004Yl-Uh for qemu-devel@nongnu.org; Wed, 09 Sep 2015 03:57:21 -0400 Received: from e23smtp04.au.ibm.com ([202.81.31.146]:59106) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZZaFp-0004YB-Cu for qemu-devel@nongnu.org; Wed, 09 Sep 2015 03:57:17 -0400 Received: from /spool/local by e23smtp04.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 9 Sep 2015 17:57:14 +1000 Date: Wed, 9 Sep 2015 13:26:12 +0530 From: Bharata B Rao Message-ID: <20150909075600.GI17433@in.ibm.com> References: <1438838837-28504-1-git-send-email-bharata@linux.vnet.ibm.com> <1438838837-28504-2-git-send-email-bharata@linux.vnet.ibm.com> <20150904053124.GV6537@voom.redhat.com> <20150909055246.GD17433@in.ibm.com> <55EFE2AA.7060500@cn.fujitsu.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <55EFE2AA.7060500@cn.fujitsu.com> Subject: Re: [Qemu-devel] [RFC PATCH v4 01/11] exec: Remove cpu from cpus list during cpu_exec_exit() Reply-To: bharata@linux.vnet.ibm.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Zhu Guihua Cc: mdroth@linux.vnet.ibm.com, aik@ozlabs.ru, agraf@suse.de, qemu-devel@nongnu.org, qemu-ppc@nongnu.org, tyreld@linux.vnet.ibm.com, imammedo@redhat.com, nfont@linux.vnet.ibm.com, afaerber@suse.de, David Gibson On Wed, Sep 09, 2015 at 03:41:30PM +0800, Zhu Guihua wrote: > > On 09/09/2015 01:52 PM, Bharata B Rao wrote: > >On Fri, Sep 04, 2015 at 03:31:24PM +1000, David Gibson wrote: > >>On Thu, Aug 06, 2015 at 10:57:07AM +0530, Bharata B Rao wrote: > >>>CPUState *cpu gets added to the cpus list during cpu_exec_init(). It > >>>should be removed from cpu_exec_exit(). > >>> > >>>cpu_exec_init() is called from generic CPU::instance_finalize and some > >>>archs like PowerPC call it from CPU unrealizefn. So ensure that we > >>>dequeue the cpu only once. > >>> > >>>Instead of introducing a new field CPUState.queued, I could have used > >>>CPUState.cpu_index to check if the cpu is already dequeued from the list. > >>>Since that doesn't work for CONFIG_USER_ONLY, I had to add a new field. > >>> > >>>Signed-off-by: Bharata B Rao > >>This seems reasonable to me, but I'm wondering how x86 cpu hotplug / > >>unplug is working without it. > >x86 hotplug/unplug code currently resides in Zhu's git tree > >(git://github.com/zhugh/qemu). They are removing the CPU from the list > >explicitly in x86 CPU's instance_finalize routine. > > Sorry, my git tree is git://github.com/zhuguihua/qemu > > Now there was no progress about topology, so we don't know what will happen > in x86. I am not sure whether we will take this method finally. Andreas had a presentation on this topic in KVM forum recently. Andreas - do you have any updates on the topology and other aspects of CPU hotplug so that we can align the CPU hotplug work in different archs accordingly and hope to get it merged in 2.5 time frame ? Regards, Bharata.