On Wed, Apr 22, 2009 at 11:37:30AM +0800, Zhai, Edwin wrote:
> Simon Horman wrote:
>> 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.
That is what I thought too, I'll investigate further.
>> 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." %
>> # 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,
> Xen-devel mailing list
VA Linux Systems Japan K.K. Satellite Lab in Sydney, Australia
H: www.vergenet.net/~horms/ W: www.valinux.co.jp/en
Xen-devel mailing list