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