[Bug 203874] MSI/MSI-X interrupts don't work in VMware virtual machines

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Oct 25 18:06:01 UTC 2015


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203874

--- Comment #4 from Marius Strobl <marius at FreeBSD.org> ---
(In reply to bhavesh from comment #3)

The problem with broken versions of ESXi is that allocation of MSI-X vectors
fails when tried for the first time but succeeds on subsequent attempts. As
Jack Vogel from Intel pointed out, this behavior inherently reminds of a design
bug in Linux/KVM:
https://lists.freebsd.org/pipermail/freebsd-stable/2012-October/070220.html
The full thread starts here:
https://lists.freebsd.org/pipermail/freebsd-stable/2012-October/070196.html
I think at that time igb(4) additionally had an orthogonal and meanwhile fixed
bug, causing it to fail to properly fall back to MSI or even INTx, leading to
an overall non-working default setup when run under ESXi back then.

Apart from that, there was a private and independent report to jhb at freebsd.org
and me in June 2013, indicating that using INTx with ESXi 5.1 causes interrupt
storms on the FreeBSD side. In addition to the VMware documentation of that
time listing only three devices known-working with MSI-X in pass-through mode,
this lead to the conclusion that MSIs are the only thing that reliably works
with ESXi. Consequently, the current behavior of blacklisting the VMware PCI
bridges for MSI-X (but contrary to your claim, not for MSI) was implemented and
verified to yield a configuration which works out-of-the-box in the known
problematic setups involving ESXi.

As for the MSI-X allocation bug, it likely isn't/wasn't present in the bridge
code of ESXi itself but rather in its LAPIC emulation. Still, bumping the PCI
revision IDs to indicate ESXi versions where that problem has been fixed would
be way preferable to having to query the hypervisor version by other means in
the machine-independant PCI code of FreeBSD for limiting the blacklist entries
for VMware.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list