If you want to pass a PCIe device (such as a LSI SAS controller) through ESXi to a FreeBSD VM, you're probably aware that you may need to disable MSI/MSI-X interrupts to make it work.
However, I'm finding that while this setting will make the system boot, if you add a second vCPU, you will quickly stat to see Interrupt Storm messages on your console, and one of your CPU's will be nearly 100% used on interrupt tasks.
The easy fix for me? Only disable MSIX, not MSI.
Here are the relevant lines from my /boot/loader.conf:
hw.pci.enable_msix=0
hw.pci.enable_msi=1
All of my interrupt storm issues are now gone.
However, I'm finding that while this setting will make the system boot, if you add a second vCPU, you will quickly stat to see Interrupt Storm messages on your console, and one of your CPU's will be nearly 100% used on interrupt tasks.
The easy fix for me? Only disable MSIX, not MSI.
Here are the relevant lines from my /boot/loader.conf:
hw.pci.enable_msix=0
hw.pci.enable_msi=1
All of my interrupt storm issues are now gone.