httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Victor J. Orlikowski" <>
Subject Re: mod_file_cache performance
Date Tue, 03 Jul 2001 01:47:03 GMT
dean gaudet writes:
 > incidentally -- there is an analogue to TCP_CORK on FreeBSD, i'm pretty
 > sure it's TCP_NOPUSH.  it's unfortunate that the two (almost identical)
 > concepts developped independantly with different names.

In fact, here's Linus' words on the two, from a thread on lkml circa

In contrast, TCP_CORK has an interface much like TCP_NOPUSH, along with
the notion of persistency. The difference between those two is that
TCP_CORK really took the notion of persistency to the end, and made
uncorking actually say "Ok, no more packets". You can't do that with
TCP_NOPUSH: with TCP_NOPUSH you basically have to know what your last
write is, and clear the bit _before_ that write if you want to avoid bad
latencies (alternatively, you can just close the socket, which works
equally well, and was probably the designed interface for the thing. That
has the disadvantage of, well, closing the socket - so it doesn't work if
you don't _know_ whether you'd write more or not).

So the three are absolutely not equivalent. I personally think that
TCP_NOPUSH is always the wrong thing - it has the persistency without the
ability to shut it off gracefully after the fact. In contrast, both
MSG_MORE and TCP_CORK have well-defined behaviour but they have very
different uses.

Victor J. Orlikowski

View raw message