WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] vtd: Don't do FLR when we create domain o

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] vtd: Don't do FLR when we create domain or hotplug device into guest.
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 19 Aug 2008 06:50:10 -0700
Delivery-date: Tue, 19 Aug 2008 06:49:58 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1219139501 -3600
# Node ID 7c10be016e432163c8d95a9d5a79636ff6133e93
# Parent  2af894d8cecd04ae8bdf298172c5196df42e2f3f
vtd: Don't do FLR when we create domain or hotplug device into guest.

VT-d hot-plug is done in such a way:  1) xend sends 'pci-ins' command
to ioemu via xenstore; 2) ioemu creates pass-through device and raises
SCI to guest OS; guest OS loads device driver, and device driver
initializes the hot-plugged device; 3) xend does FLR. There is a race
condition about 2) and 3). If 3) runs slow, we have troubles. Thanks
for Yuji Shimada's locating the issues.

We can work around the issues by not doing FLR when we create domain
or hotplug device into guest, namely, we only do FLR when we destroy
domain or hotplug device from guest.

Signed-off-by: Dexuan Cui <dexuan.cui@xxxxxxxxx>
Signed-off-by: Dongxiao Xu <dongxiao.xu@xxxxxxxxx>
---
 tools/python/xen/xend/server/pciif.py |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff -r 2af894d8cecd -r 7c10be016e43 tools/python/xen/xend/server/pciif.py
--- a/tools/python/xen/xend/server/pciif.py     Tue Aug 19 10:48:39 2008 +0100
+++ b/tools/python/xen/xend/server/pciif.py     Tue Aug 19 10:51:41 2008 +0100
@@ -290,8 +290,12 @@ class PciController(DevController):
 
         self.CheckSiblingDevices(fe_domid, dev)
 
-        if arch.type != "ia64":
-            dev.do_FLR()
+        # We don't do FLR when we create domain and hotplug device into guest,
+        # namely, we only do FLR when we destroy domain or hotplug device from
+        # guest. This is mainly to work around the race condition in hotplug 
code
+        # paths. See the changeset's description for details.
+        # if arch.type != "ia64":
+        #    dev.do_FLR()
 
         PCIQuirk(dev.vendor, dev.device, dev.subvendor, dev.subdevice, domain, 
                 bus, slot, func)

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] vtd: Don't do FLR when we create domain or hotplug device into guest., Xen patchbot-unstable <=