Messages in this thread | | | Date | Thu, 2 Oct 2014 12:41:30 -0700 (PDT) | From | Hugh Dickins <> | Subject | Re: [PATCH] mm: mempolicy: Skip inaccessible VMAs when setting MPOL_MF_LAZY |
| |
On Thu, 2 Oct 2014, Mel Gorman wrote:
> PROT_NUMA VMAs are skipped to avoid problems distinguishing between > present, prot_none and special entries. MPOL_MF_LAZY is not visible from > userspace since commit a720094ded8c ("mm: mempolicy: Hide MPOL_NOOP and > MPOL_MF_LAZY from userspace for now") but it should still skip VMAs the > same way task_numa_work does. > > Signed-off-by: Mel Gorman <mgorman@suse.de> > Acked-by: Rik van Riel <riel@redhat.com>
Acked-by: Hugh Dickins <hughd@google.com>
Yes, this is much the same as the patch I wrote for Linus two days ago, then discovered that we don't need until MPOL_MF_LAZY gets brought back into MPOL_MF_VALID. (As a bonus, my patch did also remove the currently bogus paragraph of comment above change_prot_numa(); and I would prefer a code comment to make clear that we never exercise this path at present.)
> --- > mm/mempolicy.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/mm/mempolicy.c b/mm/mempolicy.c > index 8f5330d..a5877ce 100644 > --- a/mm/mempolicy.c > +++ b/mm/mempolicy.c > @@ -683,7 +683,9 @@ queue_pages_range(struct mm_struct *mm, unsigned long start, unsigned long end, > } > > if (flags & MPOL_MF_LAZY) { > - change_prot_numa(vma, start, endvma); > + /* Similar to task_numa_work, skip inaccessible VMAs */ > + if (vma->vm_flags & (VM_READ | VM_EXEC | VM_WRITE)) > + change_prot_numa(vma, start, endvma); > goto next; > } >
| |