Test compaction of mlocked memory
authorSri Jayaramappa <sjayaram@akamai.com>
Thu, 23 Apr 2015 18:21:41 +0000 (14:21 -0400)
committerShuah Khan <shuahkh@osg.samsung.com>
Tue, 26 May 2015 21:58:06 +0000 (15:58 -0600)
commitbd67d5c15cc190f52eb2f2a2f6f6b800ca33d9dd
treea562c98b5e48e543e2c367a319e9af67524ec9b5
parentd0bd7f2ac785468ee99e24a0e7b37420e5a242e8
Test compaction of mlocked memory

Commit commit 5bbe3547aa3b ("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>
tools/testing/selftests/vm/Makefile
tools/testing/selftests/vm/compaction_test.c [new file with mode: 0644]
tools/testing/selftests/vm/run_vmtests