Try enabling RSS and PCBGROUPS on -HEAD. The ixl driver should work.
(I haven't tested it though; I've had other things going on here.)
-adrian
On 21 May 2015 at 15:20, Lakshmi Narasimhan Sundararajan
<laks...@msystechnologies.com> wrote:
> Hi FreeBSD Team!
>
> We seem to have found a problem to Tx performance.
>
> We found that the tx handling is spread on all CPUs causing probably cache trashing resulting in poor performance.
>
> But once we used cpuset to bind interrupt thread and iperf process to the same CPU, performance was close to line rate. I used userland cpuset command to perform this manually. I want this constrained in the kernel config/code through some tunables, and I am seeking your help/pointers in that regard.
>
>
> My followup questions are as follows.
>
> a) How are Tx interrupts steered from the NIC to the CPU on the transmit path? Would tx_complete# interrupt for packets transmitted from CPU#x, be serviced on the same CPU? If not, how to get this binding done?
>
>
> b) I would like to use a pool of CPUs dedicated to service NIC interrupts. Especially on the transmit path, I would want the tx_interrupts to be handled on the same CPU on which request was submitted. How to get this done?
>
>
> I played with the current ISR setting but I did not see any difference in how Interrupts are scheduled across CPU. The max interrupt threads even though set to one, the interrupt threads are scheduled on any CPU. Even if I set bindthreads to ‘1’. There is no difference in interrupt thread scheduling.
>
>
> root@mau-da-27-4-1:~ # sysctl net.isr
> net.isr.dispatch: direct
> net.isr.maxthreads: 1
> net.isr.bindthreads: 0
> net.isr.maxqlimit: 10240
> net.isr.defaultqlimit: 256
> net.isr.maxprot: 16
> net.isr.numthreads: 1
>
>
> I would sincerely appreciate if you can provide some pointers on these items above.
>
>
>
>
> Thanks
>
> LN
> freeb...@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net...@freebsd.org"