MSI-X limitation in freebsd 8.2

John Baldwin jhb at freebsd.org
Wed Jun 20 14:55:05 UTC 2012


On Wednesday, June 20, 2012 6:47:34 am Venkat Duvvuru wrote:
> Hi,
> MSI-x supports upto 2048 vectors but what I see in freebsd 8.2 is that when
> I use more than ~30 vectors, system becomes dead slow.
> Is there a limitation on number of msi vectors that can be used in 8.2?

FreeBSD/x86 supports roughly 191 distinct interrupts on each CPU, and each 
MSI-X interrupt takes up a single vector on the CPU it resides on.  If you
exhaust that set of vectors, then pci_alloc_msix() will fail (or return a
smaller count).  However, I haven't seen any issues with the system being slow 
with 30 vectors.  Are these 30 vectors all tied to a single device, and are 
they evenly distributed across the available CPUs?  Have you run top when the 
system was sluggish to see what each CPU was doing?

-- 
John Baldwin


More information about the freebsd-net mailing list