Skip to contentSkip to conversation

]

Fwd: Dan Kegel 1 participant 1 message Jan 17, 2001

lore
Share & tools
lore

Dan Kegel

author
#0 lore raw
Quoted 6 lines · Dean Gaudet

consider the case where you're responding to a pair of pipelined HTTP/1.1 requests. with the HPUX and BSD sendfile() APIs you end up forcing a packet boundary between the two responses. this is likely to result in one small packet on the wire after each response.

with the linux TCP_CORK API you only get one trailing small packet

Tony Finch tells me that BSD also supports TCP_CORK; in fact, it had it first.

Quoted 8 lines · He

BSDs that include T/TCP (pretty much all of them since 1995) have an option called TCP_NOPUSH which is equivalent to Linux's TCP_CORK. A pity the Linux people didn't know about it when they implemented their version.

#if defined(TCP_CORK) && !defined(TCP_NOPUSH)
#define TCP_NOPUSH TCP_CORK
#endif

Can anyone verify it resolves the problem Dean pointed out?

Now, Linus, does that make you hate BSD less? :-)
- Dan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/