[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: Bug in pci-detach (Was: Re: [Xen-devel] Re: VT-d HowTo Update)
Simon Horman wrote: Hi, I've poked a little further into this and the problem is partly a missunderstanding on my part. In the case where a function is specified in the hvm.conf in the form BUS:DEV:FUNC (e.g. 00:1d.0), then there is a check inside xm that prevents the function from subsequently being hot-unplugged. The check is that the vslot number is set to auto-select. And presumably the idea was that statically assigned devices couldn't be hot-unplugged, which to be honest was my initial assumption of how things work. All assigned device should not has a "auto-select" vslot after being assigned to guest, so I'm curious which lead this "auto-select". Static assigned device also support hotplug, because qemu will select then return the vslot to xend. If, however, the function in the hvm.conf is of the form BUS:DEV:FUNC@VSLOT (e.g. 00:1d.00@1e) which I added recently, then the check is bypassed, because vslot is set to 1e not auto. This is how I was doing my tests. I assumed this was the behaviour for all cases, and documented it as such. This leaves us with 3 choices: 1. Leave the inconsistency, which seems like a bad idea. 2. Add a check to make sure both forms can't be hot-unplugged This is more work than; 3. Remove the check and allow statically assigned devies to be removed. This seems like a good option, and if there is consensus I can fix this up into a propper patch. diff -r 6ba4e34d21d3 tools/python/xen/xend/XendDomainInfo.py --- a/tools/python/xen/xend/XendDomainInfo.py Tue Apr 21 16:31:26 2009 +0100 +++ b/tools/python/xen/xend/XendDomainInfo.py Wed Apr 22 12:42:58 2009 +1000 @@ -1092,9 +1092,6 @@ 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 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |