Date: Wed, 20 Jun 2012 10:54:40 -0400 From: John Baldwin <jhb@freebsd.org> To: freebsd-net@freebsd.org Cc: Venkat Duvvuru <venkatduvvuru.ml@gmail.com> Subject: Re: MSI-X limitation in freebsd 8.2 Message-ID: <201206201054.40824.jhb@freebsd.org> In-Reply-To: <CAGdae7YW0jt4gTmHufHFTrcdtFGhngu_Wi%2BMDg1nY_T0J1C_SQ@mail.gmail.com> References: <CAGdae7YW0jt4gTmHufHFTrcdtFGhngu_Wi%2BMDg1nY_T0J1C_SQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201206201054.40824.jhb>