aboutsummaryrefslogtreecommitdiffstats
path: root/mm/mmap.c
diff options
context:
space:
mode:
authorJerome Marchand <jmarchan@redhat.com>2013-11-12 15:08:31 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2013-11-13 12:09:11 +0900
commit00619bcc44d6b779aa366130b354153c222e4380 (patch)
tree5a885f81a351dfc6ca471823388d89a739406862 /mm/mmap.c
parentmm: improve the description for dirty_background_ratio/dirty_ratio sysctl (diff)
downloadlinux-dev-00619bcc44d6b779aa366130b354153c222e4380.tar.xz
linux-dev-00619bcc44d6b779aa366130b354153c222e4380.zip
mm: factor commit limit calculation
The same calculation is currently done in three differents places. Factor that code so future changes has to be made at only one place. [akpm@linux-foundation.org: uninline vm_commit_limit()] Signed-off-by: Jerome Marchand <jmarchan@redhat.com> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: Michal Hocko <mhocko@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/mmap.c')
-rw-r--r--mm/mmap.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/mm/mmap.c b/mm/mmap.c
index 3d3e224be771..803048e9c568 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -179,14 +179,12 @@ int __vm_enough_memory(struct mm_struct *mm, long pages, int cap_sys_admin)
goto error;
}
- allowed = (totalram_pages - hugetlb_total_pages())
- * sysctl_overcommit_ratio / 100;
+ allowed = vm_commit_limit();
/*
* Reserve some for root
*/
if (!cap_sys_admin)
allowed -= sysctl_admin_reserve_kbytes >> (PAGE_SHIFT - 10);
- allowed += total_swap_pages;
/*
* Don't let a single process grow so big a user can't recover