|
From: Miklos S. <mi...@sz...> - 2013-02-06 10:54:48
|
On Tue, Feb 5, 2013 at 7:53 PM, Anand Avati <av...@re...> wrote: > > splice() would give us zero user-to-kernel copy, but still results in memory > copies, no? Splice allows userspace to move pages from one kernel subsystem to another (disk to network, etc...) without the page being ever copied or mapped. Unlike mmap it does not allow access to the *contents* of the page. If you do need to access the contents from userspace then the pages need to be mapped to avoid copies. If no access is needed to the contents then mapping the pages just adds unnecessary overhead. Think of splice as an operation that can move pages to or from a page array (the pipe) in userspace. Thanks, Miklos |