> > TCP_CORK is useful for FAR more than just sendfile() headers and
> > footers. it's arguably the most correct way to write server code.
>
> Agreed -- the hard-coded Nagle algorithm makes no sense these days.
hey, actually a little more thinking this morning made me think nagle
*may* have a place. i don't like any of the solutions i've come up with
though for this. the problem specifically is how do you implement an
efficient HTTP/ng server which supports WebMUX and parallel processing of
multiple responses.
the problem in a nutshell is that multiple threads may be working on
responses which are multiplexed onto a single socket -- there's some extra
mux header info used to separate each of the response streams.
like what if the response stream is a few hundred HEADs (for cache
validation) some of which are static files and others which require some
dynamic code. the static responses will finish really fast, and you want
to fill up network packets with them. but you don't know when the dynamic
responses will finish so you can't be sure when to start sending the
packets.
i don't know NFSv3 very much, but i imagine it's got similar problems --
any multiplexed request/response protocol allowing out-of-order responses
would have this problem. any gurus got suggestions?
-dean
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/