httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Orton <jor...@redhat.com>
Subject Re: apr_brigade_insert_file() LFS/Linux issues
Date Thu, 04 May 2006 16:17:59 GMT
On Thu, May 04, 2006 at 01:04:08PM +0200, Niklas Edmundsson wrote:
> On Thu, 4 May 2006, Joe Orton wrote:
> 
> >>This was on XFS and on an NFS mount. It should be noted that this
> >>works on a 32bit (also Ubuntu Breezy) machine with identical config.
> >
> >Can you try it on a local ext3 filesystem?
> 
> Same results.

It would be useful if you could report this to Ubuntu, I don't know 
whether it's some bug in specific kernels, or what.  It works fine for 
all 64-bit Fedora/RHEL boxes I have tested on (2.4, 2.6, x86_64, ia64, 
...)

...
> Your guess was correct, it's the count value that's the problem. 1GB 
> is OK, 2GB gives EINVAL. The file makes it through OK too, at least 
> the md5sum matches ;)
> 
> So, I'd suggest going with that fix/kludge and change server/core.c to 
> use apr_brigade_insert_file(), and possibly other places that needs 
> the fix. It won't hurt performance that much calling sendfile() every 
> 1GB even on those platforms that can cope with larger sendfile-chunks.

OK, great, thanks for testing this out.  I think it will actually be 
better to do this in the Linux-specific apr_socket_sendfile() 
implementation, the issue is not after all brigade-specific; I've 
committed this:

http://svn.apache.org/viewcvs.cgi?rev=399750&view=rev

joe

Mime
View raw message