From: Luiz Capitulino Date: Wed, 4 Jun 2014 23:07:09 +0000 (-0700) Subject: hugetlb: update_and_free_page(): don't clear PG_reserved bit X-Git-Tag: v3.16-rc1~47^2~16^2~205 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=a7407a27c2bba3711d272d72d2d63ea147a929df;p=uclinux-h8%2Flinux.git hugetlb: update_and_free_page(): don't clear PG_reserved bit Hugepages pages never get the PG_reserved bit set, so don't clear it. However, note that if the bit gets mistakenly set free_pages_check() will catch it. Signed-off-by: Luiz Capitulino Reviewed-by: Davidlohr Bueso Acked-by: Kirill A. Shutemov Reviewed-by: Zhang Yanfei Cc: Andrea Arcangeli Cc: David Rientjes Cc: Marcelo Tosatti Cc: Naoya Horiguchi Cc: Rik van Riel Cc: Yasuaki Ishimatsu Cc: Yinghai Lu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/mm/hugetlb.c b/mm/hugetlb.c index a66310586894..c148eb295d79 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -618,8 +618,8 @@ static void update_and_free_page(struct hstate *h, struct page *page) for (i = 0; i < pages_per_huge_page(h); i++) { page[i].flags &= ~(1 << PG_locked | 1 << PG_error | 1 << PG_referenced | 1 << PG_dirty | - 1 << PG_active | 1 << PG_reserved | - 1 << PG_private | 1 << PG_writeback); + 1 << PG_active | 1 << PG_private | + 1 << PG_writeback); } VM_BUG_ON_PAGE(hugetlb_cgroup_from_page(page), page); set_compound_page_dtor(page, NULL);