Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Oct 2015 18:06:01 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 203874] MSI/MSI-X interrupts don't work in VMware virtual machines
Message-ID:  <bug-203874-8-GJ7tegkGPW@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-203874-8@https.bugs.freebsd.org/bugzilla/>
References:  <bug-203874-8@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203874

--- Comment #4 from Marius Strobl <marius@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@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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-203874-8-GJ7tegkGPW>