Subject: Re: Extensible hashing and RCU

From: Eric Dumazet <[email-masked]>
Date: Thu, 22 Feb 2007 07:06:00 +0100

Robert Olsson a écrit :
> David Miller writes:
> 
>  > But what about if tree lookup were free :-)
>  > 
>  > This is why I consider Robert Olsson's trash work the most promising,
>  > if we stick sockets into his full flow identified routing cache trie
>  > entries, we can eliminate lookup altogether.
>  > 
>  > Just like how he already uses traffic inspection to kill cache entries
>  > when FIN shutdown sequence is snooped, we can explicitly flush such
>  > entries when socket is closed fully on local system.
> 
>  Below is current tree-stats from a "production" flowlogging application at a 
>  large university (real traffic) using this full flow lookup.
> 
>  With 100k flows we typically see an aver depth 1.3 and a max depth 4. Right 
>  now there is only a dst entry in leaf nodes. So yes anything else we can put 
>  in leaf is "free".
> 
> trie:
>         Aver depth:     1.31
>         Max depth:      4
>         Leaves:         99930
>         Internal nodes: 14925
>           1: 13450  2: 1465  3: 9  18: 1
>         Pointers: 294976
> Null ptrs: 180122
> Total size: 7259  kB
>
Hi Robert

This sounds *very* promising.
I read again the pdf presentation and theory seems ok.

However you speak of average depth and max depth without mentioning 
corresponding cache lines. Are all your structures under L1_CACHE_BYTES ?

Do you have a pointer to the patch so that I can take a look on it and 
eventually start to think about it ? (ie adding free bits :) )

Thank you
Eric