Interrupts + Polling mode (similar to Linux's NAPI)
p.pisati at oltrelinux.com
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