Thread (11 messages) 11 messages, 3 authors, 2011-04-12

Re: [Resend] Cross Memory Attach v3 [PATCH]

From: Andrew Morton <akpm@linux-foundation.org>
Date: 2011-03-21 01:58:47

On Mon, 21 Mar 2011 12:20:18 +1030 Christopher Yeoh [off-list ref] wrote:
On Thu, 17 Mar 2011 12:54:27 -0700
Andrew Morton [off-list ref] wrote:
quoted
On Thu, 17 Mar 2011 15:40:26 +1030
Christopher Yeoh [off-list ref] wrote:
quoted
quoted
Thinking out loud: if we had a way in which a process can add and
remove a local anonymous page into pagecache then other processes
could access that page via mmap.  If both processes map the file
with a nonlinear vma they they can happily sit there flipping
pages into and out of the shared mmap at arbitrary file offsets.
The details might get hairy ;) We wouldn't want all the regular
mmap semantics of
Yea, its the complexity of trying to do it that way that eventually
lead me to implementing it via a syscall and get_user_pages
instead, trying to keep things as simple as possible.
The pagecache trick potentially gives zero-copy access, whereas the
proposed code is single-copy.  Although the expected benefits of that
may not be so great due to TLB manipulation overheads.

I worry that one day someone will come along and implement the
pagecache trick, then we're stuck with obsolete code which we have to
maintain for ever.
Perhaps I don't understand what you're saying correctly but I think that
one problem with the zero copy page flipping approach is that there
is no guarantee with the data that the MPI apps want to send 
resides in a page or pages all by itself.
Well.  The applications could of course be changed.  But if the
applications are changeable then they could be changed to use
MAP_SHARED memory sharing and we wouldn't be having this discussion,
yes?

(Why can't the applications be changed to use existing shared memory
capabilities, btw?)

But yes, I'm assuming that it will be acceptable for the sending app to
expose some memory (up to PAGE_SIZE-1) below and above the actual
payload which is to be transferred.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help