Date: Tue, 7 Nov 2000 17:34:53 -0500 (EST) From: "Richard A. Steenbergen" <ras@e-gerbil.net> To: David Greenman <dg@root.com> Cc: freebsd-net@freebsd.org Subject: Re: tcp sendspace/recvspace Message-ID: <Pine.BSF.4.21.0011071709390.306-100000@overlord.e-gerbil.net> In-Reply-To: <200011052257.OAA24410@implode.root.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 5 Nov 2000, David Greenman wrote: > Overall I like the idea of a dynamically scaling these, but I'm talking > about the "right now" and not the "next year some time, maybe". I am concerned Its nowhere near so far away. Infact if you're interested, here's the current holdup. The auto-tuned socket buffer size is designed to take feedback from the cwnd, to determine what the socket "wants". But in a low memory situation, the socket may not always be able to get what it wants. In order to determine how much it "gets", one should be fair and consider the demands of all other sockets. The PSC implementation does this by periodically (on slowtimo) scanning through all tcp sockets, and calculating a fair value per socket. http://www.psc.edu/publications/tech_reports/fairshare/fairshare.html http://www.psc.edu/networking/papers/sigcomm98/sld018.htm http://www.psc.edu/networking/papers/sigcomm98/sld016.htm This obviously has performance and locking implications, and probably isn't the easiest way to do things. The method that I'm considering most heavily now is eliminating the slowtimo called scan, seperating the demands for memory into "easy" to fill aka we can give it everything it wants, and "hard" to fill, and then calculating ratios of available / requested to determine how much the sockets can get... In order for this to be effective it would need to be driven down to sbappend() and done on a per packet basis though. I'm really not happy with any solution so far. -- Richard A Steenbergen <ras@e-gerbil.net> http://www.e-gerbil.net/humble PGP Key ID: 0x138EA177 (67 29 D7 BC E8 18 3E DA B2 46 B3 D8 14 36 FE B6) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0011071709390.306-100000>