Enable gigantic hugetlb page pools shrinking. Signed-off-by: Wanpeng Li <liw...@linux.vnet.ibm.com> --- mm/hugetlb.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/mm/hugetlb.c b/mm/hugetlb.c index eeaf6f2..328f140 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -1416,7 +1416,8 @@ static unsigned long set_max_huge_pages(struct hstate *h, unsigned long count, { unsigned long min_count, ret; - if (h->order >= MAX_ORDER) + if (h->order >= MAX_ORDER && (!hugetlb_shrink_gigantic_pool || + count > persistent_huge_pages(h))) return h->max_huge_pages; /* @@ -1542,7 +1543,7 @@ static ssize_t nr_hugepages_store_common(bool obey_mempolicy, goto out; h = kobj_to_hstate(kobj, &nid); - if (h->order >= MAX_ORDER) { + if (h->order >= MAX_ORDER && !hugetlb_shrink_gigantic_pool) { err = -EINVAL; goto out; } @@ -2036,7 +2037,7 @@ static int hugetlb_sysctl_handler_common(bool obey_mempolicy, tmp = h->max_huge_pages; - if (write && h->order >= MAX_ORDER) + if (write && h->order >= MAX_ORDER && !hugetlb_shrink_gigantic_pool) return -EINVAL; table->data = &tmp; -- 1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/