diff options
author | Paul Mundt <lethal@linux-sh.org> | 2009-01-08 12:04:47 +0000 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2009-01-08 12:04:47 +0000 |
commit | dd8632a12e500a684478fea0951f380478d56fed (patch) | |
tree | 1a12f441f9de14fd233faa92cf13a5fbb0319f41 /include | |
parent | 8feae13110d60cc6287afabc2887366b0eb226c2 (diff) | |
download | kernel_samsung_smdk4412-dd8632a12e500a684478fea0951f380478d56fed.tar.gz kernel_samsung_smdk4412-dd8632a12e500a684478fea0951f380478d56fed.tar.bz2 kernel_samsung_smdk4412-dd8632a12e500a684478fea0951f380478d56fed.zip |
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>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/mm_types.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index 1c1e0d3a171..92915e81443 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -106,6 +106,7 @@ struct vm_region { unsigned long vm_flags; /* VMA vm_flags */ unsigned long vm_start; /* start address of region */ unsigned long vm_end; /* region initialised to here */ + unsigned long vm_top; /* region allocated to here */ unsigned long vm_pgoff; /* the offset in vm_file corresponding to vm_start */ struct file *vm_file; /* the backing file or NULL */ |