[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