Subject: Re: RT metric sharing...

From: Eric Dumazet <[email-masked]>
Date: Fri, 11 Dec 2009 01:22:41 +0100

Le 10/12/2009 23:14, David Miller a écrit :
> 
> This topic has come up a few times, but I had a reason to
> consider it again.
> 
> The routing metrics take up quite a bit of space in the
> dst_entry and thus every routing cache entry.
> 
> We could save some space with indirection.
> 
> Basically my idea is:
> 
> 1) dst_metrics are maintained in external structure
> 
> 2) when cache entry is created, read-only dst_metrics object
>    is allocated for it
> 
> 3) any attempt to change the metrics of such a read-only dst_entry
>    cow's it, all further writes proceed as normal
> 
> We currently have 13 (so 13 * sizeof(u32) == 52) and we're probably
> about to get a 14th (for the initial receive window stuff).
> 

Nice idea Dave.

(Note : we do have a hole available for the 14th metric
because of forced __refcnt alignement)