Re: sendfile() expert advice sought

From: Patrick J. LoPresti
Date: Wed Feb 17 2010 - 21:47:25 EST


On Wed, Feb 17, 2010 at 6:19 PM, Bryan Donlan <bdonlan@xxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/