|
|
|
|
|
|
|
|
|
|
xen-devel
Re: Bug in pci-detach (Was: Re: [Xen-devel] Re: VT-d HowTo Update)
To: |
Simon Horman <horms@xxxxxxxxxxxx> |
Subject: |
Re: Bug in pci-detach (Was: Re: [Xen-devel] Re: VT-d HowTo Update) |
From: |
"Zhai, Edwin" <edwin.zhai@xxxxxxxxx> |
Date: |
Wed, 22 Apr 2009 11:37:30 +0800 |
Cc: |
"Han, Weidong" <weidong.han@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Christian Tramnitz <chris.ace@xxxxxxx>, Keir Fraser <keir.fraser@xxxxxxxxxxxxx>, "Cui, Dexuan" <dexuan.cui@xxxxxxxxx> |
Delivery-date: |
Tue, 21 Apr 2009 20:38:17 -0700 |
Envelope-to: |
www-data@xxxxxxxxxxxxxxxxxxx |
In-reply-to: |
<20090422025000.GA7916@xxxxxxxxxxxx> |
List-help: |
<mailto:xen-devel-request@lists.xensource.com?subject=help> |
List-id: |
Xen developer discussion <xen-devel.lists.xensource.com> |
List-post: |
<mailto:xen-devel@lists.xensource.com> |
List-subscribe: |
<http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe> |
List-unsubscribe: |
<http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> |
References: |
<20090422014446.GA30419@xxxxxxxxxxxx> <20090422025000.GA7916@xxxxxxxxxxxx> |
Sender: |
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx |
User-agent: |
Thunderbird 2.0.0.17 (X11/20080914) |
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
|
|
|
|
|