What are conditions to spread traffic across different NIC queues?
Lev Serebryakov
lev at FreeBSD.org
Fri Oct 26 14:11:41 UTC 2018
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 963 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-net/attachments/20181026/85e7fef1/attachment.sig>
More information about the freebsd-net
mailing list