<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2654.89">
<TITLE>RE: [openib-general] Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation</TITLE>
</HEAD>
<BODY>
<BR>

<P><FONT SIZE=2>> The userspace library should be able to track the tree and</FONT>
<BR><FONT SIZE=2>> the overlaps, etc.  Things might become interesting when the </FONT>
<BR><FONT SIZE=2>> memory is MAP_SHARED pagecache and multiple independent </FONT>
<BR><FONT SIZE=2>> processes are involved, although I guess that'd work OK.</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> But afaict the problem wherein part of a page needs</FONT>
<BR><FONT SIZE=2>> VM_DONTCOPY and the other part does not cannot be solved.</FONT>
</P>

<P><FONT SIZE=2>Not sure it was such a good idea, but at some point we thought of forcing the copy of (***only***) such pages at fork time (leaving of course the original one for the parent). This eliminates the COW that would have messed the parent's mapping, and still allows the child process to access the "un-registered" portions of the page.</FONT></P>

<P><FONT SIZE=2>BTW: We did try to "motivate" applications to do whole page registrations only so to avoid this issue altogether. But that did not work. Some (hard to ignore) applications want byte granularity.</FONT></P>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>

</BODY>
</HTML>