vtd: Don't do FLR when we create domain or hotplug device into guest.
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 19 Aug 2008 09:51:41 +0000 (10:51 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 19 Aug 2008 09:51:41 +0000 (10:51 +0100)
commit154ef9e3cc7bb902df177d4942f5af53da7af67b
tree82297a4aa3719ff96ecda5e34da967108803c079
parentd74b976c41d4b3019c335cd009f38060f612002a
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@intel.com>
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
tools/python/xen/xend/server/pciif.py