Messages in this thread |  | | Date | Thu, 18 Jan 2001 14:18:09 +0100 (CET) | | From | Ingo Molnar <> | | Subject | Re: [Fwd: [Fwd: Is sendfile all that sexy? (fwd)]] |
| |
On Wed, 17 Jan 2001, Linus Torvalds wrote:
> (I also had one person point out that BSD's have the notion of > TCP_NOPUSH, which does almost what TCP_CORK does under Linux, except > it doesn't seem to have the notion of uncorking - you can turn NOPUSH > off, but apparently it doesn't affect queued packets. This makes it > even less clear why they have the ugly sendfile)
this is what MSG_MORE does. Basically i added MSG_MORE for the purpose of getting perfect TUX packet boundaries (and was ignorant enough to not know about BSD's NOPUSH), without an additional system-call overhead, and without the persistency of TCP_CORK. Alexey and David agreed, and actually implemented it correctly :-)
basically if MSG_MORE is not set that means an explicit packet boundary in the noncontended scenario. If MSG_MORE is set then that means all full-MSS packets are queued, partial packets are not queued (but are timing out). sendfile() uses the more flag internally - i've changed sendfile() in my tree to specify the more flag from higher levels as well - eg. if a sent file is embedded into other replies, or multiple files are sent.
Ingo
- 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/
|  |