Routing SMP benefit

Michael Vince mv at roq.com
Sun Jan 1 04:22:12 PST 2006


Andre Oppermann wrote:

>Markus Oestreicher wrote:
>  
>
>>Currently running a few routers on 5-STABLE I have read the
>>recent changes in the network stack with interest.
>>    
>>
>
>You should run 6.0R.  It contains many improvements over 5-STABLE.
>
>  
>
>>A few questions come to my mind:
>>
>>- Can a machine that mainly routes packets between two em(4)
>>interfaces benefit from a second CPU and SMP kernel? Can both
>>CPUs process packets from the same interface in parallel?
>>    
>>
>
>My testing has shown that a machine can benefit from it but not
>much in the forwarding performance.  The main benefit is the
>prevention of lifelock if you have very high packet loads.  The
>second CPU on SMP keeps on doing all userland tasks and running
>routing protocols.  Otherwise your BGP sessions or OSPF hellos
>would stop and remove you from the routing cloud.
>
>  
>
>>- From reading the lists it appears that net.isr.direct
>>and net.ip.fastforwarding are doing similar things. Should
>>they be used together or rather not?
>>    
>>
>
>net.inet.ip.fastforwarding has precedence over net.isr.direct and
>enabling both at the same doesn't gain you anything.  Fastforwarding
>is about 30% faster than all other methods available, including
>polling.  On my test machine with two em(4) and an AMD Opteron 852
>(2.6GHz) I can route 580'000 pps with zero packet loss on -CURRENT.
>An upcoming optimization that will go into -CURRENT in the next
>few days pushes that to 714'000 pps.  Futher optimizations are
>underway to make a stock kernel do close to or above 1'000'000 pps
>on the same hardware.
>  
>
I have tested on 6R with fastforwarding and net.isr.direct and found 
that by them selves they don't compare in network performance boosts 
compared to enabling polling, but you have made me feel like retesting, 
this is on 6R or stable though.
When do you think some of these new network improvements in -current 
will go into 6-stable?

Regards,

Mike




More information about the freebsd-net mailing list