It's not quite that smart.  Linux has to copy the data from kernel-space
buffers into user-space memory, at least.  So even if the block of data is in
the page cache, there's still a copy operation.  It doesn't just give a
pointer to the kernel's block to a process, which is I think what you're
describing there.


This may not be entirely true.

I believe that linux has a mechanism that allows movement of data
between files and pipes and between pipes and files so that no data is
actually ever copied to user space.

See: splice(2)
See: http://en.wikipedia.org/wiki/Splice_(system_call)

The wikipedia article explains such a possibility.

--Ivan

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390

Reply via email to