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>