lkml.org 
[lkml]   [2004]   [Mar]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: locking user space memory in kernel
Roland Dreier wrote:

> I don't think copying all the registered memory on fork() is feasible,
> because it's going to kill performance (especially since exec() is
> likely to immediately follow the fork() in the child). Also, there
> may not be enough memory around to copy everything.
>
>
>
Suppose a new vma flag is introduced, VM_NOCOW and an API to apply this
flag on a range of addreses, splitting or unifying vmas as necessary. A
driver which registers memory with hardware would call this function.
When fork takes place, the ptes of the parent belonging to such vmas
will not be changed to read only thus they will not undergo COW. The
kernel will copy the first and last pages of theses vmas to the child.
All the pages in between will be marked read only and will undergo COW
when written to. One problem would be that that child can read pages of
the parent after the parent modifies them but that could be avoided if
the address space of the child does not inherit the range of the middle
pages. ???
Eli
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:01    [W:2.782 / U:0.396 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site