cvs commit: src/sys/netinet tcp_input.c tcp_output.c tcp_sack.c tcp_var.h

Mohan Srinivasan mohan_srinivasan at yahoo.com
Thu May 12 07:18:28 PDT 2005


Thanks.

I'll take a look at this.

mohan

--- Daniel Eriksson <daniel_k_eriksson at telia.com> wrote:
> Paul Saab wrote:
> 
> > ps          2005-05-11 21:37:43 UTC
> > 
> >   FreeBSD src repository
> > 
> >   Modified files:
> >     sys/netinet          tcp_input.c tcp_output.c tcp_sack.c 
> >                          tcp_var.h 
> >   Log:
> >   When looking for the next hole to retransmit from the scoreboard,
> >   or to compute the total retransmitted bytes in this sack recovery
> >   episode, the scoreboard is traversed. While in sack recovery, this
> >   traversal occurs on every call to tcp_output(), every dupack and
> >   every partial ack. The scoreboard could potentially get quite large,
> >   making this traversal expensive.
> >   
> >   This change optimizes this by storing hints (for the next hole to
> >   retransmit and the total retransmitted bytes in this sack recovery
> >   episode) reducing the complexity to find these values from O(n) to
> >   constant time.
> >   
> >   The debug code that sanity checks the hints against the computed
> >   value will be removed eventually.
> 
> After upgrading one of my servers this morning (dual Athlon MP) I'm getting
> a fair amount of these on the console:
> 
> tcp_sack_output: Computed sack hole not the same as cached value
> 
> So far I have ~50 such lines in the log after ~3 hours of uptime. No users
> have reported any problems though.
> 
> /Daniel Eriksson
> 
> 
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
> 


More information about the freebsd-current mailing list