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/
Home Products Support Community News


[Xen-API] [PATCH 0 of 2] More experimental PCI passthrough fixes

To: xen-api@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-API] [PATCH 0 of 2] More experimental PCI passthrough fixes
From: David Scott <dave.scott@xxxxxxxxxxxxx>
Date: Fri, 15 Jan 2010 10:59:39 +0000
Delivery-date: Fri, 15 Jan 2010 02:55:50 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-api-request@lists.xensource.com?subject=help>
List-id: Discussion of API issues surrounding Xen <xen-api.lists.xensource.com>
List-post: <mailto:xen-api@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-api>, <mailto:xen-api-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-api>, <mailto:xen-api-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-api-bounces@xxxxxxxxxxxxxxxxxxx
more experimental PCI passthrough fixes

1. hotunplug the PCI devices in suspend; hotplug back in in resume
2. do the same in migrate (synchronously, no fancy early unplug, later sync)
3. make the low-level Device.PCI.* functions more robust by always checking for 
the xenstore response ("pci-inserted", "pci-removed")

Note that testing with an HVM SLES11 guest suggests that there's still a race 
in the hotplug code where, even though qemu acks 2 PCI device hotplugs, the 
guest only sees 1. The problem goes away if a sleep is added between the two 
hotplug requests.

Signed-off-by: David Scott <dave.scott@xxxxxxxxxxxxx>
6 files changed, 69 insertions(+), 64 deletions(-)
ocaml/xapi/vmops.ml           |   24 ++++++++++++++++++++--
ocaml/xapi/xapi_vm.ml         |   16 ++++++++++----
ocaml/xapi/xapi_vm_migrate.ml |   41 +++-----------------------------------
ocaml/xenops/device.ml        |   44 +++++++++++++++++++++++++----------------
ocaml/xenops/device.mli       |    6 +++--
ocaml/xenops/xenops.ml        |    2 -

xen-api mailing list