From owner-cvs-all@FreeBSD.ORG Mon Jan 12 02:51:37 2004 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 19EF116A4CE; Mon, 12 Jan 2004 02:51:37 -0800 (PST) Received: from chiark.greenend.org.uk (chiark.greenend.org.uk [193.201.200.170]) by mx1.FreeBSD.org (Postfix) with ESMTP id C191043D1D; Mon, 12 Jan 2004 02:51:35 -0800 (PST) (envelope-from fanf@chiark.greenend.org.uk) Received: by chiark.greenend.org.uk (Debian Exim 3.35 #1) with local id 1AfzfS-00028q-00; Mon, 12 Jan 2004 10:51:34 +0000 Date: Mon, 12 Jan 2004 10:51:34 +0000 From: Tony Finch To: Mike Silbersack Message-ID: <20040112105134.GB19684@chiark.greenend.org.uk> References: <200401081740.i08He8J9063202@repoman.freebsd.org> <3FFEAFC2.8070303@freebsd.org> <3FFEB449.1C32B5FD@freebsd.org> <36749.158.6.15.27.1073658317.squirrel@webmail.pair.com> <3FFEBBC9.A42EDC25@freebsd.org> <20040109095640.G40628@root.org> <3FFF0F5B.31185EA3@freebsd.org> <20040109204457.A1453@odysseus.silby.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040109204457.A1453@odysseus.silby.com> User-Agent: Mutt/1.3.28i Sender: Tony Finch cc: src-committers@freebsd.org cc: Andre Oppermann cc: davidxu@freebsd.org cc: Nate Lawson cc: cvs-src@freebsd.org cc: cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/netinet ip_icmp.c tcp.h tcp_input.c tcp_subr.ctcp_usrreq.c tcp_var.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Jan 2004 10:51:37 -0000 On Fri, Jan 09, 2004 at 08:47:32PM -0600, Mike Silbersack wrote: > > I think that you're describing linux's TCP_CORK option. I think that we > have similar behavior right now with some socket option, but not exactly > the same... it might not be a bad idea to just try to be explicitly > compatible. ISTR getting into a discussion about this in 2000. Nothing came out of it. The closest option BSD has to TCP_CORK is TCP_NOPUSH, but it is muddled up with the T/TCP semantics so lacks the purity of purpose of TCP_CORK. Note that as well as TCP_CORK, you also need a non-T/TCP version of MSG_EOF, i.e. one that pushes the data but doesn't shut down the send side of the socket. However this all adds up to kernel-side packet aggregation and it encourages application developers to be lazy about buffering and increases the number of system calls used to send a packet. TCP_NODELAY is not always wrong. Tony. -- f.a.n.finch http://dotat.at/ BISCAY FITZROY: SOUTHWEST GALE 8 TO STORM 10 DECREASING 6 TO GALE 8. RAIN. MODERATE OR GOOD, OCCASIONALLY POOR.