No, they read different things into the same I/O areas. This applies to
any program that is copying data, optionally reading it as it goes.
This kind of thing is also done by the network subsystem, and although
it could be done as a special case for networking, I'd prefer to see a
more general page sharing mechanism. Perhaps we can assume that all
such programs are optimised to use mmap() already, or perhaps we can't.
Now that you are mentioning I/O, keep in mind architectures where
virtual caches can cause problems and virtual dvma is available. (MIPS
and Sparc come to mind of course)
Later,
David S. Miller
davem@caip.rutgers.edu