On Mon, 14 Nov 2005 17:46:24 +0100
Eric Dumazet <[EMAIL PROTECTED]> wrote:

> [EMAIL PROTECTED] a écrit :
> > Use hits to speed up the SACK processing. Various forms 
> > of this have been used by TCP developers (Web100, STCP, BIC)
> > to avoid the 2x linear search of outstanding segments.
> > 
> > --- net-2.6.orig/include/linux/tcp.h
> > +++ net-2.6/include/linux/tcp.h
> > @@ -307,6 +307,21 @@ struct tcp_sock {
> >     struct tcp_sack_block duplicate_sack[1]; /* D-SACK block */
> >     struct tcp_sack_block selective_acks[4]; /* The SACKS themselves*/
> >  
> > +   struct tcp_sack_block recv_sack_cache[4]; 
> > +
> > +   /* from STCP, retrans queue hinting */
> > +   struct sk_buff* lost_skb_hint;
> > +
> > +   struct sk_buff *scoreboard_skb_hint;
> > +   struct sk_buff *retransmit_skb_hint;
> > +   struct sk_buff *forward_skb_hint;
> > +   struct sk_buff *fastpath_skb_hint;
> > +
> > +   int     fastpath_cnt_hint;
> > +   int     lost_cnt_hint;
> > +   int     retransmit_cnt_hint;
> > +   int     forward_cnt_hint;
> > +
> >     __u16   advmss;         /* Advertised MSS                       */
> >     __u16   prior_ssthresh; /* ssthresh saved at recovery start     */
> >     __u32   lost_out;       /* Lost packets                 */
> 
> Well... what about memory footprint ?
> 
> On a 32bits machine :
> 
> sizeof(struct tcp_sock) = 960   (4 objects per slab)
> 
> After applying this patch we basically break the limit :
> 
> sizeof(struct tcp_sock) = 960+32+36=1028   (3 objects per slab)
> 
> Eric

It could be made smaller, and there probably are better solutions.
I view this as a first step. so expect refinements with better algorithms
and smaller footprint.  There are some things that could be shrunk in
the cb to make space as well.

-- 
Stephen Hemminger <[EMAIL PROTECTED]>
OSDL http://developer.osdl.org/~shemminger
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to