From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49147) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZQ9qJ-0003Um-TJ for qemu-devel@nongnu.org; Fri, 14 Aug 2015 03:56:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZQ9qG-0004Bl-NH for qemu-devel@nongnu.org; Fri, 14 Aug 2015 03:55:59 -0400 Received: from e23smtp09.au.ibm.com ([202.81.31.142]:52969) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZQ9qD-00048b-2q for qemu-devel@nongnu.org; Fri, 14 Aug 2015 03:55:56 -0400 Received: from /spool/local by e23smtp09.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 14 Aug 2015 17:45:32 +1000 Date: Fri, 14 Aug 2015 13:14:34 +0530 From: Bharata B Rao Message-ID: <20150814074434.GG4587@in.ibm.com> References: <1439470382-17540-1-git-send-email-lvivier@redhat.com> <20150814052055.GF4587@in.ibm.com> <55CD95B8.1070809@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <55CD95B8.1070809@redhat.com> Subject: Re: [Qemu-devel] [PATCH RFC] pseries: define coldplugged devices as "configured" Reply-To: bharata@linux.vnet.ibm.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Laurent Vivier Cc: Michael Roth , dgibson@redhat.com, qemu-ppc@nongnu.org, Alexander Graf , qemu-devel@nongnu.org On Fri, Aug 14, 2015 at 09:16:08AM +0200, Laurent Vivier wrote: > > > On 14/08/2015 07:20, Bharata B Rao wrote: > > On Thu, Aug 13, 2015 at 02:53:02PM +0200, Laurent Vivier wrote: > >> When a device is hotplugged, attach() sets "configured" to > >> false, waiting an action from the OS to configure it and then > >> to call ibm,configure-connector. On ibm,configure-connector, > >> the hypervisor sets "configured" to true. > >> > >> In case of coldplugged device, attach() sets "configured" to > >> false, but firmware and OS never call the ibm,configure-connector > >> in this case, so it remains set to false. > >> > >> It could be harmless, but when we unplug a device, hypervisor > >> waits the device becomes configured because for it, a not configured > >> device is a device being configured, so it waits the end of configuration > >> to unplug it... and it never happens, so it is never unplugged. > > > > Not true for at least logical DR device like CPU. I am able to cleanly > > unplug a cold plugged CPU in the patchset I posted at: > > > > https://lists.gnu.org/archive/html/qemu-ppc/2015-08/msg00041.html > > > > And this is how the state transitions work for cold plugged CPU devices: > > Could you try with a PCI card ? Yes, there is an issue with removal of cold plugged PCI devices. I can see the device getting completely removed in the guest but it still remains in QEMU as shown by the QEMU monitor. So your patch fixes this by ensuring complete removal. Regards, Bharata.