Clone of a Fedora 11 bug - not confirmed that the 5.4 code doesn't suffer from this, but there's no reason to suspect not +++ This bug was initially created as a clone of Bug #499637 +++ After doing a bunch of KVM PCI device assignment test according to: https://fedoraproject.org/wiki/Test_Day:2009-05-07_Virtualization_KVM_PCI_Device_Assignment I eventually got: e1000e 0000:00:19.0: PCI INT A disabled e1000e 0000:00:19.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20 e1000e 0000:00:19.0: setting latency timer to 64 e1000e 0000:00:19.0: irq 29 for MSI/MSI-X 0000:00:19.0: eth0: (PCI Express:2.5GB/s:Width x1) 00:13:20:f5:f9:5a 0000:00:19.0: eth0: Intel(R) PRO/1000 Network Connection 0000:00:19.0: eth0: MAC: 6, PHY: 6, PBA No: ffffff-0ff IOMMU: no free domain ids Allocating domain for 0000:00:19.0 failed<3>0000:00:19.0: eth0: Unable to allocate memory for the transmit descriptor ring During the testing the device is regularly being unbound from and bound to the e1000e driver in the host. Are we forgetting to release a domain ID when unbinding the device? --- Additional comment from cebbert on 2009-05-08 11:36:13 EDT --- Fixed by commit 3199aa6bc8766e17b8f60820c4f78d59c25fce0e ("intel-iommu: fix PCI device detach from virtual machine")? But the comment for that says it fails after being assigned once...
The 5.4 vt-d iommu code base was re-based to 2.6.30-rc2. The patch mentioned in the description was put in after 2.6.29-rc8, pre-2.6.30-rc1. I visually verified the patch is in 5.4's VT-d codebase. I also upgraded my 5.4 test system (Weybridge) with 0.6.3-3 of libvirt (& virsh), & I was able to do half-dozen virsh nodedev-[dettach,reset,reattach] sequences, & verify after each one that the driver deattached from the device (e1000e driver), attached to pci-stub, & then back. (have to ls /sys/bus/pci/drivers/[pci-stub,e1000e] to see the bdf of the device moving btwn these drivers as dettach/reattach is done). So, closing this bug since rhel5.4 doesn't have it.