The patch titled Subject: mm/hugetlb: handle races in alloc_huge_page and hugetlb_reserve_pages has been added to the -mm tree. Its filename is mm-hugetlb-handle-races-in-alloc_huge_page-and-hugetlb_reserve_pages-v4.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/mm-hugetlb-handle-races-in-alloc_huge_page-and-hugetlb_reserve_pages-v4.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/mm-hugetlb-handle-races-in-alloc_huge_page-and-hugetlb_reserve_pages-v4.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Subject: mm/hugetlb: handle races in alloc_huge_page and hugetlb_reserve_pages Reserve count adjustments need to take into account hugetlbfs min_size reservation pools Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/hugetlb.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff -puN mm/hugetlb.c~mm-hugetlb-handle-races-in-alloc_huge_page-and-hugetlb_reserve_pages-v4 mm/hugetlb.c --- a/mm/hugetlb.c~mm-hugetlb-handle-races-in-alloc_huge_page-and-hugetlb_reserve_pages-v4 +++ a/mm/hugetlb.c @@ -1594,8 +1594,10 @@ static struct page *alloc_huge_page(stru * the reservation count added in hugetlb_reserve_pages * no longer applies. */ - hugepage_subpool_put_pages(spool, 1); - hugetlb_acct_memory(h, -1); + long rsv_adjust; + + rsv_adjust = hugepage_subpool_put_pages(spool, 1); + hugetlb_acct_memory(h, -rsv_adjust); } return page; @@ -3725,8 +3727,11 @@ int hugetlb_reserve_pages(struct inode * * the subpool and reserve counts modified above * based on the difference. */ - hugepage_subpool_put_pages(spool, chg - add); - hugetlb_acct_memory(h, -(chg - ret)); + long rsv_adjust; + + rsv_adjust = hugepage_subpool_put_pages(spool, + chg - add); + hugetlb_acct_memory(h, -rsv_adjust); } } return 0; _ Patches currently in -mm which might be from mike.kravetz@xxxxxxxxxx are hugetlb-do-not-account-hugetlb-pages-as-nr_file_pages.patch mm-hugetlb-document-the-reserve-map-region-tracking-routines.patch mm-hugetlb-compute-return-the-number-of-regions-added-by-region_add.patch mm-hugetlb-handle-races-in-alloc_huge_page-and-hugetlb_reserve_pages.patch mm-hugetlb-handle-races-in-alloc_huge_page-and-hugetlb_reserve_pages-v4.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html