What are conditions to spread traffic across different NIC queues?

Lev Serebryakov lev at FreeBSD.org
Fri Oct 26 12:30:38 UTC 2018


 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?

-- 
// 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/d6521dc8/attachment.sig>


More information about the freebsd-net mailing list