On Mon, Feb 14, 2022 at 12:00:11AM -0600, Dr. Greg wrote: > Good morning, I hope the week is starting well for everyone. > > We've made extensive use of PCI based graphics pass through for many > years, since around Xen 4.2. In fact, we maintained a set of patches > for ATI cards against qemu-traditional that have seen a lot of > downloads from our FTP site. > > We ended up switching to IGD based graphics a couple of years ago and > built a stack on top of Xen 4.10 using qemu-traditional. That > coincided with our transition from Windows 7 to Windows 10. > > We've never enjoyed anywhere near the stability with IGD/Windows-10 > that we had with the ATI/Windows-7 desktops, ie. we see fairly > frequent crashes, lockups, reduced performance etc. The ATI/Windows-y > desktops were almost astonishingly reliable, ie. hundreds of > consecutive Windows VM boot/passthrough cycles. > > In order to try and address this issue we set out to upgrade our > workstation infrastructure. Unfortunately we haven't found anything > that has worked post 4.10. > > To be precise, 4.11 with qemu-traditional works, but upon exit from > the virtual machine, to which the graphics adapter and USB controller > are passed through to, both the USB controller and the graphics > controller cannot be re-initialized and re-attached to the Dom0 > instance. > > It appears to be a problem with mapping interrupts back to dom0 given > that we see the following: > > Feb 10 08:16:05 hostname kernel: xhci_hcd 0000:00:14.0: xen map irq failed > -19 for 32752 domain > > Feb 10 08:16:05 hostname kernel: i915 0000:00:02.0: xen map irq failed -19 > for 32752 domain > > Feb 10 08:16:12 hostname kernel: xhci_hcd 0000:00:14.0: Error while assigning > device slot ID
Are you testing with an hypervisor with debug enabled? If not, please build one and see if there are any messages in Xen dmesg also as a result of the error (uisng `xl dmesg` if you don't have a serial attached to the box). Posting full Linux and Xen dmesgs (Xen build with debug=y) could also help. PHYSDEVOP_map_pirq is failing but without further information it's impossible to limit the scope of the issue (and whether the issue is with PHYSDEVOP_map_pirq or some previous operation). Thanks, Roger.