Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 May 2005 21:37:43 +0000 (UTC)
From:      Paul Saab <ps@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/netinet tcp_input.c tcp_output.c tcp_sack.c tcp_var.h
Message-ID:  <200505112137.j4BLbhs9011153@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
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.
  
  Submitted by:   Mohan Srinivasan, Noritoshi Demizu, Raja Mukerji.
  
  Revision  Changes    Path
  1.272     +5 -4      src/sys/netinet/tcp_input.c
  1.111     +7 -2      src/sys/netinet/tcp_output.c
  1.16      +111 -71   src/sys/netinet/tcp_sack.c
  1.122     +6 -1      src/sys/netinet/tcp_var.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200505112137.j4BLbhs9011153>