Date: Mon, 23 May 2005 19:22:48 +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.h tcp_sack.c Message-ID: <200505231922.j4NJMmJs082446@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200505231922.j4NJMmJs082446>
