What are conditions to spread traffic across different NIC queues?
Pieper, Jeffrey E
jeffrey.e.pieper at intel.com
Fri Oct 26 15:04:14 UTC 2018
So what exactly is your complaint? That a higher end chipset has more features than a low-end chipset?
Jeff
On 10/26/18, 7:13 AM, "Lev Serebryakov" <owner-freebsd-net at freebsd.org on behalf of lev at FreeBSD.org> wrote:
On 26.10.2018 15:30, Lev Serebryakov wrote:
> I have "router" with two em (82574L) NICs. It has dual-core CPU and
> each NIC creates two receive and two transmit queues:
>
> $ sysctl dev.em | grep queue | grep _irq
> dev.em.1.queue_rx_1.rx_irq: 0
> dev.em.1.queue_rx_0.rx_irq: 0
> dev.em.1.queue_tx_1.tx_irq: 0
> dev.em.1.queue_tx_0.tx_irq: 0
> dev.em.0.queue_rx_1.rx_irq: 0
> dev.em.0.queue_rx_0.rx_irq: 0
> dev.em.0.queue_tx_1.tx_irq: 0
> dev.em.0.queue_tx_0.tx_irq: 0
> $
>
> When I pass, say, 64 UDP streams through this router, only one core is
> 100% loaded and other is 100% idle. These streams are for same IP pair,
> but port pairs are all different.
>
> What are right conditions to spread such traffic per queues and cores?
Ok, 82574L is "low end" chip, it supports only IP and IP+TCP checksums.
82576EB supports IP+UDP too. Intel, what is wrong with you?!
--
// Lev Serebryakov
More information about the freebsd-net
mailing list