mm: mempolicy: Skip inaccessible VMAs when setting MPOL_MF_LAZY
Subsystems (2)
PATCH 1/1 mm: mempolicy: Skip inaccessible VMAs when setting MPOL_MF_LAZY
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.
--- mm/mempolicy.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
mm/mempolicy.c +3 -1
@@ -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; }
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
Quoted 8 lines · Mel Gorman
PROT_NUMAVMAs are skipped to avoid problems distinguishing between present,prot_noneand special entries.MPOL_MF_LAZYis not visible from userspace since commita720094ded8c("mm: mempolicy: HideMPOL_NOOPandMPOL_MF_LAZYfrom userspace for now") but it should still skip VMAs the same waytask_numa_workdoes.Signed-off-by Mel Gorman <[email protected]>Acked-by Rik van Riel <[email protected]>
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.)
Quoted 9 lines
--- mm/mempolicy.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)mm/mempolicy.c +0
-0
mm/mempolicy.c queue_pages_range(struct mm_struct *mm, unsigned long start, unsigned long end, · line 691
Quoted 10 lines
mm/mempolicy.c +3
-1@@ -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; }
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
Quoted 8 lines · Mel Gorman
PROT_NUMAVMAs are skipped to avoid problems distinguishing between present,prot_noneand special entries.MPOL_MF_LAZYis not visible from userspace since commita720094ded8c("mm: mempolicy: HideMPOL_NOOPandMPOL_MF_LAZYfrom userspace for now") but it should still skip VMAs the same waytask_numa_workdoes.Signed-off-by Mel Gorman <[email protected]>Acked-by Rik van Riel <[email protected]>
Quoted 19 lines
--- mm/mempolicy.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)mm/mempolicy.c +3
-1@@ -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; }