Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Jan 2004 10:51:34 +0000
From:      Tony Finch <dot@dotat.at>
To:        Mike Silbersack <silby@silby.com>
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
Message-ID:  <20040112105134.GB19684@chiark.greenend.org.uk>
In-Reply-To: <20040109204457.A1453@odysseus.silby.com>
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>

next in thread | previous in thread | raw e-mail | index | archive | help
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  <dot@dotat.at>  http://dotat.at/
BISCAY FITZROY: SOUTHWEST GALE 8 TO STORM 10 DECREASING 6 TO GALE 8. RAIN.
MODERATE OR GOOD, OCCASIONALLY POOR.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040112105134.GB19684>