All of lore.kernel.org
 help / color / mirror / Atom feed
* HVM domain with PCI passthrough cannot reboot
@ 2011-04-20 15:39 Louis McLennan
  0 siblings, 0 replies; 4+ messages in thread
From: Louis McLennan @ 2011-04-20 15:39 UTC (permalink / raw)
  To: xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 1172 bytes --]

When rebooting a win7 domu with PCI pass-through enabled in Xen Hypervisor 4.1. I encountered the following error.

VmError: failed to assign device 01:00.0: maybe it has already been assigned to other domain, or maybe it doesn't exist.

However, one could create the domain with no issues right after this error appeared. Suggesting something in the reboot process is not waiting for all PCI devices to detach.

At this time I’m working around this issue by inserting a timer before the VM gets created.
I’ve added (domain_reboot_timeout 10) to my xend-config.sxp and modified some files as seen in attached. As I don’t know python and I apologise for the slackness of my approach.

At this time I’m only passing through a Sound Card, USB Controller and an ATI Graphics card. Perhaps this is hardware related. I have applied a patch for the ATI card to work. However, this issue was present when the ATI card was not listed in the config. As below you can see it reporting the same thing with the USB Controller.

VmError: failed to assign device 00:1b.0: maybe it has already been assigned to other domain, or maybe it doesn't exist.

Thanks,
Louis

[-- Attachment #1.2: Type: text/html, Size: 1548 bytes --]

[-- Attachment #2: diff.txt --]
[-- Type: text/plain, Size: 1858 bytes --]

diff -Naur a/tools/python/xen/xend/XendDomainInfo.py b/tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py	2011-03-25 20:42:51.000000000 +1000
+++ b/tools/python/xen/xend/XendDomainInfo.py	2011-04-21 00:32:28.890271200 +1000
@@ -120,7 +120,8 @@
     @return: An up and running XendDomainInfo instance
     @raise VmError: Invalid configuration or failure to start.
     """
-
+    reboot_timeout_domain = XendOptions.instance().get_domain_reboot_timeout_timeout()
+    time.sleep(reboot_timeout_domain)
     log.debug("XendDomainInfo.create_from_dict(%s)",
               scrub_password(config_dict))
     vm = XendDomainInfo(XendConfig.XendConfig(xapi = config_dict))
diff -Naur a/tools/python/xen/xend/XendOptions.py b/tools/python/xen/xend/XendOptions.py
--- a/tools/python/xen/xend/XendOptions.py	2011-03-25 20:42:51.000000000 +1000
+++ b/tools/python/xen/xend/XendOptions.py	2011-04-21 00:50:53.582456000 +1000
@@ -150,6 +150,8 @@
     """Default timeout for device destruction."""
     device_destroy_timeout_default = 100
 
+    domain_reboot_timeout_default = 0
+
     """By default, we use the strict check for HVM guest. (For PV guest, we
     use loose check automatically if necessary."""
     pci_dev_assign_strict_check_default = True
@@ -429,6 +431,10 @@
         return self.get_config_int("device-destroy-timeout",
                                    self.device_destroy_timeout_default)
 
+    def get_domain_reboot_timeout_timeout(self):
+        return self.get_config_int("domain_reboot_timeout",
+                                   self.domain_reboot_timeout_default)
+
     def get_pci_dev_assign_strict_check(self):
         return self.get_config_bool("pci-passthrough-strict-check",
                                     self.pci_dev_assign_strict_check_default)

[-- Attachment #3: Type: text/plain, Size: 138 bytes --]

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* HVM domain with PCI passthrough cannot reboot
@ 2011-04-21  9:04 Louis McLennan
  0 siblings, 0 replies; 4+ messages in thread
From: Louis McLennan @ 2011-04-21  9:04 UTC (permalink / raw)
  To: xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 1172 bytes --]

When rebooting a win7 domu with PCI pass-through enabled in Xen Hypervisor 4.1. I encountered the following error.

VmError: failed to assign device 01:00.0: maybe it has already been assigned to other domain, or maybe it doesn't exist.

However, one could create the domain with no issues right after this error appeared. Suggesting something in the reboot process is not waiting for all PCI devices to detach.

At this time I’m working around this issue by inserting a timer before the VM gets created.
I’ve added (domain_reboot_timeout 10) to my xend-config.sxp and modified some files as seen in attached. As I don’t know python and I apologise for the slackness of my approach.

At this time I’m only passing through a Sound Card, USB Controller and an ATI Graphics card. Perhaps this is hardware related. I have applied a patch for the ATI card to work. However, this issue was present when the ATI card was not listed in the config. As below you can see it reporting the same thing with the USB Controller.

VmError: failed to assign device 00:1b.0: maybe it has already been assigned to other domain, or maybe it doesn't exist.

Thanks,
Louis

[-- Attachment #1.2: Type: text/html, Size: 1809 bytes --]

[-- Attachment #2: diff.txt --]
[-- Type: text/plain, Size: 1858 bytes --]

diff -Naur a/tools/python/xen/xend/XendDomainInfo.py b/tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py	2011-03-25 20:42:51.000000000 +1000
+++ b/tools/python/xen/xend/XendDomainInfo.py	2011-04-21 00:32:28.890271200 +1000
@@ -120,7 +120,8 @@
     @return: An up and running XendDomainInfo instance
     @raise VmError: Invalid configuration or failure to start.
     """
-
+    reboot_timeout_domain = XendOptions.instance().get_domain_reboot_timeout_timeout()
+    time.sleep(reboot_timeout_domain)
     log.debug("XendDomainInfo.create_from_dict(%s)",
               scrub_password(config_dict))
     vm = XendDomainInfo(XendConfig.XendConfig(xapi = config_dict))
diff -Naur a/tools/python/xen/xend/XendOptions.py b/tools/python/xen/xend/XendOptions.py
--- a/tools/python/xen/xend/XendOptions.py	2011-03-25 20:42:51.000000000 +1000
+++ b/tools/python/xen/xend/XendOptions.py	2011-04-21 00:50:53.582456000 +1000
@@ -150,6 +150,8 @@
     """Default timeout for device destruction."""
     device_destroy_timeout_default = 100
 
+    domain_reboot_timeout_default = 0
+
     """By default, we use the strict check for HVM guest. (For PV guest, we
     use loose check automatically if necessary."""
     pci_dev_assign_strict_check_default = True
@@ -429,6 +431,10 @@
         return self.get_config_int("device-destroy-timeout",
                                    self.device_destroy_timeout_default)
 
+    def get_domain_reboot_timeout_timeout(self):
+        return self.get_config_int("domain_reboot_timeout",
+                                   self.domain_reboot_timeout_default)
+
     def get_pci_dev_assign_strict_check(self):
         return self.get_config_bool("pci-passthrough-strict-check",
                                     self.pci_dev_assign_strict_check_default)

[-- Attachment #3: Type: text/plain, Size: 138 bytes --]

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* HVM domain with PCI passthrough cannot reboot
@ 2011-04-21  8:36 Louis McLennan
  0 siblings, 0 replies; 4+ messages in thread
From: Louis McLennan @ 2011-04-21  8:36 UTC (permalink / raw)
  To: xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 1172 bytes --]

When rebooting a win7 domu with PCI pass-through enabled in Xen Hypervisor 4.1. I encountered the following error.

VmError: failed to assign device 01:00.0: maybe it has already been assigned to other domain, or maybe it doesn't exist.

However, one could create the domain with no issues right after this error appeared. Suggesting something in the reboot process is not waiting for all PCI devices to detach.

At this time I’m working around this issue by inserting a timer before the VM gets created.
I’ve added (domain_reboot_timeout 10) to my xend-config.sxp and modified some files as seen in attached. As I don’t know python and I apologise for the slackness of my approach.

At this time I’m only passing through a Sound Card, USB Controller and an ATI Graphics card. Perhaps this is hardware related. I have applied a patch for the ATI card to work. However, this issue was present when the ATI card was not listed in the config. As below you can see it reporting the same thing with the USB Controller.

VmError: failed to assign device 00:1b.0: maybe it has already been assigned to other domain, or maybe it doesn't exist.

Thanks,
Louis

[-- Attachment #1.2: Type: text/html, Size: 1807 bytes --]

[-- Attachment #2: diff.txt --]
[-- Type: text/plain, Size: 1858 bytes --]

diff -Naur a/tools/python/xen/xend/XendDomainInfo.py b/tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py	2011-03-25 20:42:51.000000000 +1000
+++ b/tools/python/xen/xend/XendDomainInfo.py	2011-04-21 00:32:28.890271200 +1000
@@ -120,7 +120,8 @@
     @return: An up and running XendDomainInfo instance
     @raise VmError: Invalid configuration or failure to start.
     """
-
+    reboot_timeout_domain = XendOptions.instance().get_domain_reboot_timeout_timeout()
+    time.sleep(reboot_timeout_domain)
     log.debug("XendDomainInfo.create_from_dict(%s)",
               scrub_password(config_dict))
     vm = XendDomainInfo(XendConfig.XendConfig(xapi = config_dict))
diff -Naur a/tools/python/xen/xend/XendOptions.py b/tools/python/xen/xend/XendOptions.py
--- a/tools/python/xen/xend/XendOptions.py	2011-03-25 20:42:51.000000000 +1000
+++ b/tools/python/xen/xend/XendOptions.py	2011-04-21 00:50:53.582456000 +1000
@@ -150,6 +150,8 @@
     """Default timeout for device destruction."""
     device_destroy_timeout_default = 100
 
+    domain_reboot_timeout_default = 0
+
     """By default, we use the strict check for HVM guest. (For PV guest, we
     use loose check automatically if necessary."""
     pci_dev_assign_strict_check_default = True
@@ -429,6 +431,10 @@
         return self.get_config_int("device-destroy-timeout",
                                    self.device_destroy_timeout_default)
 
+    def get_domain_reboot_timeout_timeout(self):
+        return self.get_config_int("domain_reboot_timeout",
+                                   self.domain_reboot_timeout_default)
+
     def get_pci_dev_assign_strict_check(self):
         return self.get_config_bool("pci-passthrough-strict-check",
                                     self.pci_dev_assign_strict_check_default)

[-- Attachment #3: Type: text/plain, Size: 138 bytes --]

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* HVM domain with PCI passthrough cannot reboot
@ 2011-04-20 15:58 Louis McLennan
  0 siblings, 0 replies; 4+ messages in thread
From: Louis McLennan @ 2011-04-20 15:58 UTC (permalink / raw)
  To: xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 1172 bytes --]

When rebooting a win7 domu with PCI pass-through enabled in Xen Hypervisor 4.1. I encountered the following error.

VmError: failed to assign device 01:00.0: maybe it has already been assigned to other domain, or maybe it doesn't exist.

However, one could create the domain with no issues right after this error appeared. Suggesting something in the reboot process is not waiting for all PCI devices to detach.

At this time I’m working around this issue by inserting a timer before the VM gets created.
I’ve added (domain_reboot_timeout 10) to my xend-config.sxp and modified some files as seen in attached. As I don’t know python and I apologise for the slackness of my approach.

At this time I’m only passing through a Sound Card, USB Controller and an ATI Graphics card. Perhaps this is hardware related. I have applied a patch for the ATI card to work. However, this issue was present when the ATI card was not listed in the config. As below you can see it reporting the same thing with the USB Controller.

VmError: failed to assign device 00:1b.0: maybe it has already been assigned to other domain, or maybe it doesn't exist.

Thanks,
Louis

[-- Attachment #1.2: Type: text/html, Size: 1807 bytes --]

[-- Attachment #2: diff.txt --]
[-- Type: text/plain, Size: 1858 bytes --]

diff -Naur a/tools/python/xen/xend/XendDomainInfo.py b/tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py	2011-03-25 20:42:51.000000000 +1000
+++ b/tools/python/xen/xend/XendDomainInfo.py	2011-04-21 00:32:28.890271200 +1000
@@ -120,7 +120,8 @@
     @return: An up and running XendDomainInfo instance
     @raise VmError: Invalid configuration or failure to start.
     """
-
+    reboot_timeout_domain = XendOptions.instance().get_domain_reboot_timeout_timeout()
+    time.sleep(reboot_timeout_domain)
     log.debug("XendDomainInfo.create_from_dict(%s)",
               scrub_password(config_dict))
     vm = XendDomainInfo(XendConfig.XendConfig(xapi = config_dict))
diff -Naur a/tools/python/xen/xend/XendOptions.py b/tools/python/xen/xend/XendOptions.py
--- a/tools/python/xen/xend/XendOptions.py	2011-03-25 20:42:51.000000000 +1000
+++ b/tools/python/xen/xend/XendOptions.py	2011-04-21 00:50:53.582456000 +1000
@@ -150,6 +150,8 @@
     """Default timeout for device destruction."""
     device_destroy_timeout_default = 100
 
+    domain_reboot_timeout_default = 0
+
     """By default, we use the strict check for HVM guest. (For PV guest, we
     use loose check automatically if necessary."""
     pci_dev_assign_strict_check_default = True
@@ -429,6 +431,10 @@
         return self.get_config_int("device-destroy-timeout",
                                    self.device_destroy_timeout_default)
 
+    def get_domain_reboot_timeout_timeout(self):
+        return self.get_config_int("domain_reboot_timeout",
+                                   self.domain_reboot_timeout_default)
+
     def get_pci_dev_assign_strict_check(self):
         return self.get_config_bool("pci-passthrough-strict-check",
                                     self.pci_dev_assign_strict_check_default)

[-- Attachment #3: Type: text/plain, Size: 138 bytes --]

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-04-21  9:04 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-04-20 15:39 HVM domain with PCI passthrough cannot reboot Louis McLennan
2011-04-20 15:58 Louis McLennan
2011-04-21  8:36 Louis McLennan
2011-04-21  9:04 Louis McLennan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.