mmap() sendfile()
Cedric Tabary
ced at grumly.eu.org
Mon Dec 12 09:23:20 PST 2005
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
More information about the freebsd-hackers
mailing list