mm: hugetlb: defer freeing pages when gathering surplus pages
authorHillf Danton <[email protected]>
Wed, 21 Mar 2012 23:34:00 +0000 (16:34 -0700)
committerLinus Torvalds <[email protected]>
Thu, 22 Mar 2012 00:54:57 +0000 (17:54 -0700)
commit28073b02bfaaed1e3278acfb8e6e7c9f76d9f2b6
tree54ab2952e2bee85780438a011cf5c1f198ff3dd9
parentcc715d99e529d470dde2f33a6614f255adea71f3
mm: hugetlb: defer freeing pages when gathering surplus pages

When gathering surplus pages, the number of needed pages is recomputed
after reacquiring hugetlb lock to catch changes in resv_huge_pages and
free_huge_pages.  Plus it is recomputed with the number of newly allocated
pages involved.

Thus freeing pages can be deferred a bit to see if the final page request
is satisfied, though pages could be allocated less than needed.

Signed-off-by: Hillf Danton <[email protected]>
Reviewed-by: Michal Hocko <[email protected]>
Cc: KAMEZAWA Hiroyuki <[email protected]>
Cc: Hugh Dickins <[email protected]>
Cc: Mel Gorman <[email protected]>
Cc: Andrea Arcangeli <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
mm/hugetlb.c