linux/tools/testing/selftests/vm
Sri Jayaramappa bd67d5c15c Test compaction of mlocked memory
Commit commit 5bbe3547aa ("mm: allow compaction of unevictable pages")
introduced a sysctl that allows userspace to enable scanning of locked
pages for compaction.  This patch introduces a new test which fragments
main memory and attempts to allocate a number of huge pages to exercise
this compaction logic.

Tested on machines with up to 32 GB RAM. With the patch a much larger
number of huge pages can be allocated than on the kernel without the
patch.

Example output:
On a machine with 16 GB RAM:
sudo make run_tests vm
...
-----------------------
running compaction_test
-----------------------
No of huge pages allocated = 3834
[PASS]
...

Signed-off-by: Sri Jayaramappa <sjayaram@akamai.com>
Cc: linux-kernel@vger.kernel.org
Cc: linux-api@vger.kernel.org
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Eric B Munson <emunson@akamai.com>
Reviewed-by: Eric B Munson <emunson@akamai.com>
Acked-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
2015-05-26 15:58:06 -06:00
..
.gitignore selftests: add .gitignore for vm 2013-07-03 16:08:07 -07:00
compaction_test.c Test compaction of mlocked memory 2015-05-26 15:58:06 -06:00
hugepage-mmap.c mm: move hugepage test examples to tools/testing/selftests/vm 2012-03-28 17:14:37 -07:00
hugepage-shm.c mm: move hugepage test examples to tools/testing/selftests/vm 2012-03-28 17:14:37 -07:00
hugetlbfstest.c mm, selftests: test return value of munmap for MAP_HUGETLB memory 2015-04-15 16:35:19 -07:00
Makefile Test compaction of mlocked memory 2015-05-26 15:58:06 -06:00
map_hugetlb.c mm, selftests: test return value of munmap for MAP_HUGETLB memory 2015-04-15 16:35:19 -07:00
run_vmtests Test compaction of mlocked memory 2015-05-26 15:58:06 -06:00
thuge-gen.c selftests: add a test program for variable huge page sizes in mmap/shmget 2012-12-11 17:22:25 -08:00
transhuge-stress.c selftests/vm/transhuge-stress: stress test for memory compaction 2014-10-09 22:26:01 -04:00