diff options
| author | Paul Mundt <lethal@linux-sh.org> | 2011-06-24 17:16:40 +0900 |
|---|---|---|
| committer | Paul Mundt <lethal@linux-sh.org> | 2011-06-24 17:16:40 +0900 |
| commit | 20733d59d5763ecd96276f868c1f39e677b3b4e2 (patch) | |
| tree | 89177676a2a45afa97595ce1827630aa131c51e2 /mm/hugetlb.c | |
| parent | 75e1b6a84f7e2186e843da94751b6d175caf9209 (diff) | |
| parent | 17e8c4e1ebf139743e3830439fa65fd906af4a43 (diff) | |
Merge branch 'fbdev/stable-updates'
Diffstat (limited to 'mm/hugetlb.c')
| -rw-r--r-- | mm/hugetlb.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 6402458fee3..bfcf153bc82 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -1111,6 +1111,14 @@ static void __init gather_bootmem_prealloc(void) WARN_ON(page_count(page) != 1); prep_compound_huge_page(page, h->order); prep_new_huge_page(h, page, page_to_nid(page)); + /* + * If we had gigantic hugepages allocated at boot time, we need + * to restore the 'stolen' pages to totalram_pages in order to + * fix confusing memory reports from free(1) and another + * side-effects, like CommitLimit going negative. + */ + if (h->order > (MAX_ORDER - 1)) + totalram_pages += 1 << h->order; } } |
