Messages in this thread | | | Date | Mon, 10 Mar 2008 16:26:02 +0000 | From | "Will Newton" <> | Subject | copy_page_range() with VM_LOCKED |
| |
Hi all,
In order to optimize fork performance copy_page_range avoids copying page tables under certain circumstances:
if (!(vma->vm_flags & (VM_HUGETLB|VM_NONLINEAR|VM_PFNMAP|VM_INSERTPAGE))) { if (!vma->anon_vma) return 0; }
I have a VM_LOCKED vma that I would really, really like not to fault on, but because copy_page_range does not copy the page tables of the vma I do end up faulting in my VM_LOCKED vma. Now as far as I'm aware mmap with MAP_LOCKED only promises the page will not be paged out, not that the page will never fault but I would like to get that behaviour.
Would it be possible to add VM_LOCKED to the above conditional so copy_page_range would always copy VM_LOCKED vma page tables or would that be considered insane and broken?
Thanks,
| |