[OpenAFS-devel] .35 sec rx delay bug?
Ken Hornstein
kenh@cmf.nrl.navy.mil
Thu, 09 Nov 2006 15:02:30 -0500
>> - You really want to make sure the header and bulk data end up in one
>> TCP frame. If you utilize sendfile(), it isn't possible to guarantee
>> that because you'll have to do two seperate operations: one write() to
>> do the header data, then the sendfile() call to move the bulk data (right
>> now writev() is used so header data and bulk data get coalesced into one
>> TCP frame).
>
>I think it should be possible to achieve the same result with sendfile()
>and TCP_CORK. This may be for Linux only however.
Yay, more #ifdef's!
Hm, I am wondering if that's a win; that means two extra syscalls. We
could play some games if you're sending a large chunk of data, though
... you would only need to set TCP_CORK at the beginning of sending a
large chunk, and clear it at the end. Clearly plenty of things
to play with.
--Ken