Bug 500211 - RHEL5.4 vt-d: IOMMU: no free domain ids
RHEL5.4 vt-d: IOMMU: no free domain ids
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel (Show other bugs)
All Linux
medium Severity medium
: rc
: ---
Assigned To: Don Dutile
Red Hat Kernel QE team
Depends On:
  Show dependency treegraph
Reported: 2009-05-11 13:22 EDT by Mark McLoughlin
Modified: 2009-05-18 15:43 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2009-05-18 15:43:37 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Mark McLoughlin 2009-05-11 13:22:09 EDT
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:


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@redhat.com 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...
Comment 1 Don Dutile 2009-05-18 15:42:47 EDT
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

(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.

Note You need to log in before you can comment on or make changes to this bug.