mmap() sendfile()

Iasen Kostov tbyte at otel.net
Wed Dec 14 09:40:43 PST 2005


On Mon, 2005-12-12 at 18:20 +0100, Cedric Tabary wrote:
> 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
> _______________________________________________
> freebsd-hackers at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"



More information about the freebsd-hackers mailing list