]> www.infradead.org Git - users/jedix/linux-maple.git/commit
userfaultfd: hugetlbfs: add userfaultfd_hugetlb test
authorMike Kravetz <mike.kravetz@oracle.com>
Thu, 12 Jan 2017 01:19:16 +0000 (12:19 +1100)
committerDhaval Giani <dhaval.giani@oracle.com>
Fri, 20 Jan 2017 18:55:50 +0000 (13:55 -0500)
commit3a17747f7e475867ffbcc5ea70242562c3d63e91
tree105101fdf89311c4fc09afea08d18d1a11099359
parent185598b7b564f85012666d6ae043e027b70a22d4
userfaultfd: hugetlbfs: add userfaultfd_hugetlb test

Orabug: 21685254

Test userfaultfd hugetlb functionality by using the existing testing
method (in userfaultfd.c).  Instead of an anonymous memeory, a hugetlbfs
file is mmap'ed private.  In this way fallocate hole punch can be used to
release pages.  This is because madvise(MADV_DONTNEED) is not supported
for huge pages.

Use the same file, but create wrappers for allocating ranges and releasing
pages.  Compile userfaultfd.c with HUGETLB_TEST defined to produce an
executable to test userfaultfd hugetlb functionality.

Link: http://lkml.kernel.org/r/20161216144821.5183-23-aarcange@redhat.com
Signed-off-by: Mike Kravetz <mike.kravetz@oracle.com>
Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: Hillf Danton <hillf.zj@alibaba-inc.com>
Cc: Michael Rapoport <RAPOPORT@il.ibm.com>
Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
Cc: Pavel Emelyanov <xemul@parallels.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
(cherry picked from linux-next next-20170117
 commit 44d5f4b70ff826f43791aa0fc18ca8fd02f1b432)
Signed-off-by: Mike Kravetz <mike.kravetz@oracle.com>
Reviewed-by: Dhaval Giani <dhaval.giani@oracle.com>
Conflicts:
tools/testing/selftests/vm/Makefile
tools/testing/selftests/vm/run_vmtests

Signed-off-by: Dhaval Giani <dhaval.giani@oracle.com>
tools/testing/selftests/vm/Makefile
tools/testing/selftests/vm/run_vmtests
tools/testing/selftests/vm/userfaultfd.c