Interrupts + Polling mode (similar to Linux's NAPI)

Paolo Pisati p.pisati at
Tue Apr 28 09:27:08 UTC 2009

Fabien Thomas wrote:
> To share my results:
> I have done at work modification to the polling code to do SMP polling 
> (previously posted to this ml).
> SMP polling (dynamic group of interface binded to CPU) does not 
> significantly improve the throughput (lock contention seems to be the 
> cause here).
> The main advantage of polling with modern interface is not the PPS 
> (which is nearly the same) but the global efficiency of the system 
> when using multiple interfaces (which is the case for Firewall).
> The best configuration we have found with FreeBSD 6.3 is to do polling 
> on one CPU and keep the other CPU free for other processing. In this 
> configuration the whole system
> is more efficient than with interrupt where all the CPU are busy 
> processing interrupt thread.
out of curiosity: did you try polling on 4.x? i know it doesn't 
"support" SMP over there, but last time i tried polling on 7.x (or was 
it 6.x? i don't remember...)
i found it didn't gave any benefit, while switching the system to 4.x 
showed a huge improvement.



More information about the freebsd-net mailing list