diff options
author | Chen, Kenneth W <kenneth.w.chen@intel.com> | 2006-03-31 02:30:01 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-31 12:18:50 -0800 |
commit | 78c997a4be7d1ed3ff4c27f23d30a0185d39bcbf (patch) | |
tree | 6ca625d590c7ec2e31acca3f2a1d28dce2e96332 | |
parent | d6692183ac1d8f4a4e4015f9ce9acc2514618e0b (diff) | |
download | op-kernel-dev-78c997a4be7d1ed3ff4c27f23d30a0185d39bcbf.zip op-kernel-dev-78c997a4be7d1ed3ff4c27f23d30a0185d39bcbf.tar.gz |
[PATCH] hugetlb: don't allow free hugetlb count fall below reserved count
With strict page reservation, I think kernel should enforce number of free
hugetlb page don't fall below reserved count. Currently it is possible in
the sysctl path. Add proper check in sysctl to disallow that.
Signed-off-by: Ken Chen <kenneth.w.chen@intel.com>
Cc: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | mm/hugetlb.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/mm/hugetlb.c b/mm/hugetlb.c index d87885e..832f676 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -334,6 +334,7 @@ static unsigned long set_max_huge_pages(unsigned long count) return nr_huge_pages; spin_lock(&hugetlb_lock); + count = max(count, reserved_huge_pages); try_to_free_low(count); while (count < nr_huge_pages) { struct page *page = dequeue_huge_page(NULL, 0); |