Freebsd IP Forwarding performance (question, and some info) [7-stable, current, em, smp]

Andrew Snow andrew at modulus.org
Sun Jun 29 09:07:32 UTC 2008


The "em" driver currently only has a single worker/queue so will only 
use one CPU to process packets.  However I remember reading that 
multi-threaded version of the driver is being worked on and is "coming 
soon", but there is no known ETA yet.

I see you mentioned that you played with the receive descriptors and set 
that to 4096, which is good if your chipset supports it.

But I can't see that you mentioned playing around with 
hw.em.rx_int_delay or tx_int_delay - have you tried this?  By default 
rx_int_delay is disabled but it has the capability to lower CPU 
consumption if you enable it and it works on your chipset.

By my reckoning, if you are aiming for a million pps, thats microsecond 
per packet, so you can afford to increase the delay quite alot, try 50 
or 100 or even more?

- Andrew



More information about the freebsd-net mailing list