From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zhai, Edwin" Subject: Re: [patch] Fix xm pci-detach for inactive devices Date: Tue, 26 May 2009 14:28:52 +0800 Message-ID: <4A1B8C24.2040608@intel.com> References: <20090526043821.GA24218@verge.net.au> <4A1B7B07.1080709@intel.com> <20090526062547.GA4521@verge.net.au> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20090526062547.GA4521@verge.net.au> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Simon Horman Cc: "xen-devel@lists.xensource.com" , Masaki Kanno List-Id: xen-devel@lists.xenproject.org I see. Looks fine for me. Thanks, Simon Horman wrote: > On Tue, May 26, 2009 at 01:15:51PM +0800, Zhai, Edwin wrote: > >> Simon, >> What does inactive domain means? >> How does it lead an invalid vslot? >> > > Hi Edwin, > > An inactive domain means one that has been created > but is stopped. An invalid vslot can occur in this case > if the vslot is to be automatically assigned by qemu-dm. > This is because the request will not be sent to qemu-dm > until the domain is started. > > e.g.: > > $ xm new hvm.conf > $ xm pci-attach hvm 00:1d.0 > $ xm pci-list hvm > - 0x0 0x00 0x1d 0x0 <- '-' means the vslot has not been determined > $ xm pci-detach hvm 00:1d.0 <- will fail without this change > > Or alternatively: > > $ xm new hvm.conf > $ xm pci-attach hvm 00:1d.0 > $ xm pci-list hvm > - 0x0 0x00 0x1d 0x0 <- '-' means the vslot has not been determined > $ xm start hvm > $ xm pci-list hvm > 0x7 0x0 0x00 0x1d 0x0 <- vslot 0x7 was allocated after the > domain started > $ xm pci-detach hvm 00:1d.0 <- will work with or without this patch > > Attaching devices to inactive domains was recently > fixed (added?) by Kanno-san. > > >> Simon Horman wrote: >> >>> In the case where a device is attached to an inactive domain >>> and then removed before the domain is activated it won't have >>> a vslot assigned, but it should still be valid to remove it. >>> >>> I don't think that there are any other cases where vslot can >>> be invalid. >>> >>> Lightly tested >>> >>> Cc: Zhai Edwin >>> Cc: Masaki Kanno >>> Signed-off-by: Simon Horman >>> >>> Index: xen-unstable.hg/tools/python/xen/xend/XendDomainInfo.py >>> =================================================================== >>> --- xen-unstable.hg.orig/tools/python/xen/xend/XendDomainInfo.py 2009-05-26 14:37:15.000000000 +1000 >>> +++ xen-unstable.hg/tools/python/xen/xend/XendDomainInfo.py 2009-05-26 14:37:18.000000000 +1000 >>> @@ -1130,9 +1130,6 @@ class XendDomainInfo: >>> if devnum >= pci_len: >>> raise VmError("Device @ vslot 0x%x doesn't exist." % (vslot)) >>> - if vslot == AUTO_PHP_SLOT: >>> - raise VmError("Device @ vslot 0x%x doesn't support hotplug." % (vslot)) >>> - >>> # Check the co-assignment. >>> # To pci-detach a device D from domN, we should ensure: for each DD in the >>> # list of D's co-assignment devices, DD is not assigned (to domN). >>> >>> >>> >> -- >> best rgds, >> edwin >> > > -- best rgds, edwin