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>