NOMMU: Make mmap allocation page trimming behaviour configurable.
authorPaul Mundt <lethal@linux-sh.org>
Thu, 8 Jan 2009 12:04:47 +0000 (12:04 +0000)
committerDavid Howells <dhowells@redhat.com>
Thu, 8 Jan 2009 12:04:47 +0000 (12:04 +0000)
commitdd8632a12e500a684478fea0951f380478d56fed
tree1a12f441f9de14fd233faa92cf13a5fbb0319f41
parent8feae13110d60cc6287afabc2887366b0eb226c2
NOMMU: Make mmap allocation page trimming behaviour configurable.

NOMMU mmap allocates a piece of memory for an mmap that's rounded up in size to
the nearest power-of-2 number of pages.  Currently it then discards the excess
pages back to the page allocator, making that memory available for use by other
things.  This can, however, cause greater amount of fragmentation.

To counter this, a sysctl is added in order to fine-tune the trimming
behaviour.  The default behaviour remains to trim pages aggressively, while
this can either be disabled completely or set to a higher page-granular
watermark in order to have finer-grained control.

vm region vm_top bits taken from an earlier patch by David Howells.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: David Howells <dhowells@redhat.com>
Tested-by: Mike Frysinger <vapier.adi@gmail.com>
Documentation/nommu-mmap.txt
Documentation/sysctl/vm.txt
include/linux/mm_types.h
kernel/sysctl.c
mm/nommu.c