Re: [RFC PATCH 4/4] mm: madvise allow remove operation for hugetlbfs

From: Hillf Danton
Date: Fri Apr 17 2015 - 03:11:52 EST


>
> Now that we have hole punching support for hugetlbfs, we can
> also support the MADV_REMOVE interface to it.
>
> Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
> Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx>
> ---
> mm/madvise.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/madvise.c b/mm/madvise.c
> index d551475..c4a1027 100644
> --- a/mm/madvise.c
> +++ b/mm/madvise.c
> @@ -299,7 +299,7 @@ static long madvise_remove(struct vm_area_struct *vma,
>
> *prev = NULL; /* tell sys_madvise we drop mmap_sem */
>
> - if (vma->vm_flags & (VM_LOCKED | VM_HUGETLB))
> + if (vma->vm_flags & VM_LOCKED)
> return -EINVAL;
>
> f = vma->vm_file;
> --
> 2.1.0

After the above change offset is computed,

offset = (loff_t)(start - vma->vm_start)
+ ((loff_t)vma->vm_pgoff << PAGE_SHIFT);

and I wonder if it is correct for huge page mapping.

Hillf

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/