Subject: Re: HTB accuracy for high speed (and bonding)

From: Vladimir Ivashchenko <[email-masked]>
Date: Sat, 23 May 2009 18:53:21 +0300

> > > > So, I got rid of bonding completely and instead configured PBR on Cisco
> > > > + Linux routing in such a way so that packet gets received and
> > > > transmitted using NICs connected to the same pair of cores with common
> > > > cache. 65-70% idle on all cores now, compared to 0-30% idle in worst
> > > > case scenarios before.
> > > 
> > > As a matter of fact I don't understand this bonding idea vs. smp: I
> > > guess Eric Dumazet wrote why it's wrong wrt. locking. I'm not an smp
> > > expert but I think the most efficient use is with separate NICs per
> > > cpu (so with separate HTB qdiscs if possible), or multiqueue NICs -
> > 
> > I tried the following scenario: 2 NICs used for receive + another 2 NICs 
> > used for transmit having HTB. Each NIC on a separate core. No bonding, 
> > just manual load balancing using IP routing.
> > 
> > The result was that RX cores would be 20% and 40% idle respectively, even 
> > though the amount of traffic they were receiving was roughly the same. 
> > The TX cores were idling at around 90%. 
> 
> There is not enough data to analyse this, but generally you should aim
> at maintaining one flow (RX + TX) on the same cpu cache.

Yep, that's what I did in the end (as per the top paragraph).

-- 
Best Regards
Vladimir Ivashchenko
Chief Technology Officer
PrimeTel, Cyprus - www.prime-tel.com