cvs commit: src/sys/netinet tcp.h tcp_sack.c
Paul Saab
ps at FreeBSD.org
Mon May 23 19:22:49 GMT 2005
ps 2005-05-23 19:22:48 UTC
FreeBSD src repository
Modified files:
sys/netinet tcp.h tcp_sack.c
Log:
Rewrite of tcp_sack_option(). Kentaro Kurahone (NetBSD) pointed out
that if we sort the incoming SACK blocks, we can update the scoreboard
in one pass of the scoreboard. The added overhead of sorting upto 4
sack blocks is much lower than traversing (potentially) large
scoreboards multiple times. The code was updating the scoreboard with
multiple passes over it (once for each sack option). The rewrite fixes
that, reducing the complexity of the main loop from O(n^2) to O(n).
Submitted by: Mohan Srinivasan, Noritoshi Demizu.
Reviewed by: Raja Mukerji.
Revision Changes Path
1.31 +1 -1 src/sys/netinet/tcp.h
1.19 +108 -63 src/sys/netinet/tcp_sack.c
More information about the cvs-src
mailing list