Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Dec 2005 18:20:31 +0100
From:      Cedric Tabary <ced@grumly.eu.org>
To:        freebsd-hackers@freebsd.org
Subject:   Re: mmap() sendfile()
Message-ID:  <20051212172031.GC42322@efrei.fr>
In-Reply-To: <20051212083537.T78724@odysseus.silby.com>
References:  <20051212083930.GC91837@efrei.fr> <20051212083537.T78724@odysseus.silby.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 12/12/2005 08:38, Mike Silbersack wrote:
> On Mon, 12 Dec 2005, Cedric Tabary wrote:
> 
> >If it is true, doing a sendfile() on some very big files (even if not
> >keeping the descriptor open after) will kill the cache ?
> >
> >Please help me to understand why this patch ? and the difference between
> >sendfile() and mmap() at the memory or cache level..
> >
> >Cédric
> 
> My memory escapes me on all the details, but there were two potential 
> reasons not to use sendfile with 4.x that no longer apply in 5.x and 
> above:
> 
> 1.  Sendfile used to send small files inefficiently, sending the http 
> headers in one packet and the data in another.  I fixed this in 5.x.
> 
> 2.  Alan Cox improved the memory efficiency of sendfile greatly, it now 
> uses a single kernel buffer for all copies of the same block of the same 
> file, whereas the old implementation made an in-kernel copy of each block, 
> making it no more memory efficient than using mbufs.

What about using sendfile() or mmap() on NFS ?

Cédric



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051212172031.GC42322>