[openib-general] Re: [PATCH repost] PROT_DONTCOPY: ifiniband uverbs fork support

Hugh Dickins hugh at veritas.com
Thu Aug 11 07:04:29 PDT 2005


On Thu, 11 Aug 2005, Gleb Natapov wrote:
> What about the idea that was floating around about new VM flag that will
> instruct kernel to copy pages belonging to the vma on fork instead of mark
> them as cow?

It's a pretty good idea, and thanks for reminding us of it.

It suffers from the general difficulty with fixes within get_user_pages,
that we need down_write(&mm->mmap_sem) to split_vma, and even just to
update vm_flags, whereas get_user_pages is entered with down_read.

Really, we'd prefer not to mess with the vma itself in get_user_pages.
Could mark the ptes instead, perhaps, but that gets very architecture-
dependent.  A separate array?  not so nice if the vma is very large
and the get_user_pages area very small.

I had toyed with leaving the ptes in the parent as writable, made
readonly just in the child; but though that violation could be excused
while get_user_pages is active, it would have to be corrected at the
end, and that gets complicated again.

Hugh



More information about the general mailing list