Messages in this thread | | | Date | Wed, 17 Feb 2010 18:47:07 -0800 | Subject | Re: sendfile() expert advice sought | From | "Patrick J. LoPresti" <> |
| |
On Wed, Feb 17, 2010 at 6:19 PM, Bryan Donlan <bdonlan@gmail.com> wrote: > > sendfile() always copies pages
Really? So the description in the following article (see "Figure 4") is wrong?
http://www.linuxjournal.com/article/6345?page=0,1
(To be clear, I want to replace the step where the kernel buffers get populated from disk with a step where I populate them programatically. That is what I mean by "sendfile() for anonymous pages".)
According to that article, among others, if your network device supports scatter/gather and the pages are already resident, then sendfile() is a true zero-copy operation. That is, it takes page cache pages and arranges to DMA them to the network card without creating any additional copies in system RAM.
My questions make a lot more sense if that is how it works, anyway :-).
- Pat
| |