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 ErikssonReceived on Thu May 12 2005 - 07:39:03 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:34 UTC