lkml.org 
[lkml]   [2016]   [Jan]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH] mm:mempolicy: skip VM_HUGETLB and VM_MIXEDMAP VMA for lazy mbind
Hello Liang,

Just trivial comment below.

On Mon, 18 Jan 2016, Liang Chen wrote:

> VM_HUGETLB and VM_MIXEDMAP vma needs to be excluded to avoid compound
> pages being marked for migration and unexpected COWs when handling
> hugetlb fault.
>
> Thanks to Naoya Horiguchi for reminding me on these checks.
>
> Signed-off-by: Liang Chen <liangchen.linux@gmail.com>
> Signed-off-by: Gavin Guo <gavin.guo@canonical.com>
> ---
> mm/mempolicy.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/mm/mempolicy.c b/mm/mempolicy.c
> index 436ff411..415de70 100644
> --- a/mm/mempolicy.c
> +++ b/mm/mempolicy.c
> @@ -610,8 +610,9 @@ static int queue_pages_test_walk(unsigned long start, unsigned long end,
>
> if (flags & MPOL_MF_LAZY) {
> /* Similar to task_numa_work, skip inaccessible VMAs */
> - if (vma_migratable(vma) &&
> - vma->vm_flags & (VM_READ | VM_EXEC | VM_WRITE))
> + if (vma_migratable(vma) && !is_vm_hugetlb_page(vma) &&
> + (vma->vm_flags & (VM_READ | VM_EXEC | VM_WRITE)) &&
> + !(vma->vm_flags & VM_MIXEDMAP))

Isn't there exists few unnecessary parenthesis? IMHO, it makes me hard to
read the code.

How about below code, instead?

+ if (vma_migratable(vma) && !is_vm_hugetlb_page(vma) &&
+ vma->vm_flags & (VM_READ | VM_EXEC | VM_WRITE) &&
+ !vma->vm_flags & VM_MIXEDMAP)


Thanks,
SeongJae Park.

> change_prot_numa(vma, start, endvma);
> return 1;
> }
> --
> 1.9.1
>
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@kvack.org. For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
>

\
 
 \ /
  Last update: 2016-01-19 02:21    [W:0.045 / U:2.532 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site