httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Querna <c...@force-elite.com>
Subject Re: TCP_CORK broken on Linux 2.6?
Date Fri, 24 Jun 2005 21:16:20 GMT
Greg Ames wrote:

> I noticed that multiple packets are being sent to the network when one 
> would do on a couple of Linux 2.6.x boxes.  one is SuSE SLES 9, the 
> other is RHEL 4.  the first packet is all the HTTP headers, the second 
> is the body/file.  strace 
> http://people.apache.org/~gregames/rhel4.cork.strace reveals that 
> httpd is issuing the correct setsockopt()s to enable/disable 
> TCP_CORK.  no such problem seen on 2.4 kernels.
>
> here is a packet trace in pcap/tcpdump binary format 
> http://people.apache.org/~gregames/rhel4.cork.tcpdump
>
> Nivedita, are you aware of any bugs like this?
>
> if you want to try this with Apache 2.x, use a file that's bigger than 
> 256 bytes so that core_output_filter will use sendfile, but small 
> enough so that the HTTP headers + file will fit into one ethernet packet.
>
> Greg

FWIW, I just tested this out on FreeBSD 6.0-CURRENT and 2.1.6, and it 
behaves correctly. It sends the headers in the same packet as the 
Sendfile()'ed data. Sure sounds like a Linux specific issue.

-Paul

Mime
View raw message