LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: Linux kernel small forwarding perf (was: RE: Small packetshandling :

To: "LinuxVirtualServer.org users mailing list." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>, Roberto Nibali <ratz@xxxxxx>
Subject: Re: Linux kernel small forwarding perf (was: RE: Small packetshandling : LVS-DR vs LVS-NAT)
Cc: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Cc: Julian Anastasov <ja@xxxxxx>
From: Alexandre Cassen <Alexandre.Cassen@xxxxxxxxxx>
Date: Wed, 4 Jun 2003 09:55:16 +0200
Hello Roberto,

> RCU won't buy you a lot without SMP. Stupid question: did you 
> readprofile/oprofile it once? I'd be interested to get some numbers.

When blaste the routers I constat this, then I try with SMP and this is the 
same problem... I generated 12M random traffic through router on a Xeon hard 
and CPU is 100% !... with  a poor 60Kpps forwarding handling... 
 
> > as you said :), what about not adding new entries per packets in the
> > rt_cache ? that way hash key will miss and submit routing lookup and
> > gc_.. will have a simple low job not the current big linearization aging
> task.
> > I was thinking of the _intern_hash func to not append new entries ?
> 
> Again stupid question: Is it really the lookup that consumes the precious
> time?

The current rt_cache hash design is bad IMHO, since truly random traffic 
generate lot of hash collision which end on a slow lookup. DaveM provided 
a "nethashfix" last day using jenkins hash func which are using secret to try 
limit collisions but this doesn't solve the problem since we can generate big 
traffic between two hash secret update. I tried with this patch and problem 
still the same... this is why PATRICIA and the like exist to speed up rt_cache 
lookup... Since QoS is closed to routings porting current rt_cache design to 
better design is big work...

Best regards,
Alexandre
<Prev in Thread] Current Thread [Next in Thread>