The patch titled Subject: mm: hugetlb: add a new parameter for some functions has been added to the -mm tree. Its filename is mm-hugetlb-add-a-new-parameter-for-some-functions.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/mm-hugetlb-add-a-new-parameter-for-some-functions.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/mm-hugetlb-add-a-new-parameter-for-some-functions.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: Huang Shijie <shijie.huang@xxxxxxx> Subject: mm: hugetlb: add a new parameter for some functions Add a new parameter, the "no_init", to these functions: alloc_fresh_gigantic_page_node() alloc_fresh_gigantic_page() prep_new_huge_page() does some initialization for the new page. But sometimes we do not need it to do so, such as in the surplus case in a later patch. With this parameter, prep_new_huge_page() can be called by needed: If the "no_init" is false, calls the prep_new_huge_page() in the alloc_fresh_gigantic_page_node(); This is in preparation for later patches. Link: http://lkml.kernel.org/r/1479107259-2011-3-git-send-email-shijie.huang@xxxxxxx Signed-off-by: Huang Shijie <shijie.huang@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxx> Cc: Kirill A . Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Cc: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Steve Capper <steve.capper@xxxxxxx> Cc: Kaly Xin <kaly.xin@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/hugetlb.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff -puN mm/hugetlb.c~mm-hugetlb-add-a-new-parameter-for-some-functions mm/hugetlb.c --- a/mm/hugetlb.c~mm-hugetlb-add-a-new-parameter-for-some-functions +++ a/mm/hugetlb.c @@ -1127,27 +1127,29 @@ static struct page *alloc_gigantic_page( static void prep_new_huge_page(struct hstate *h, struct page *page, int nid); static void prep_compound_gigantic_page(struct page *page, unsigned int order); -static struct page *alloc_fresh_gigantic_page_node(struct hstate *h, int nid) +static struct page *alloc_fresh_gigantic_page_node(struct hstate *h, + int nid, bool no_init) { struct page *page; page = alloc_gigantic_page(nid, huge_page_order(h)); if (page) { prep_compound_gigantic_page(page, huge_page_order(h)); - prep_new_huge_page(h, page, nid); + if (!no_init) + prep_new_huge_page(h, page, nid); } return page; } static int alloc_fresh_gigantic_page(struct hstate *h, - nodemask_t *nodes_allowed) + nodemask_t *nodes_allowed, bool no_init) { struct page *page = NULL; int nr_nodes, node; for_each_node_mask_to_alloc(h, nr_nodes, node, nodes_allowed) { - page = alloc_fresh_gigantic_page_node(h, node); + page = alloc_fresh_gigantic_page_node(h, node, no_init); if (page) return 1; } @@ -1166,7 +1168,7 @@ static inline void free_gigantic_page(st static inline void destroy_compound_gigantic_page(struct page *page, unsigned int order) { } static inline int alloc_fresh_gigantic_page(struct hstate *h, - nodemask_t *nodes_allowed) { return 0; } + nodemask_t *nodes_allowed, bool no_init) { return 0; } #endif static void update_and_free_page(struct hstate *h, struct page *page) @@ -2313,7 +2315,8 @@ static unsigned long set_max_huge_pages( cond_resched(); if (hstate_is_gigantic(h)) - ret = alloc_fresh_gigantic_page(h, nodes_allowed); + ret = alloc_fresh_gigantic_page(h, nodes_allowed, + false); else ret = alloc_fresh_huge_page(h, nodes_allowed); spin_lock(&hugetlb_lock); _ Patches currently in -mm which might be from shijie.huang@xxxxxxx are mm-hugetlb-rename-some-allocation-functions.patch mm-hugetlb-add-a-new-parameter-for-some-functions.patch mm-hugetlb-change-the-return-type-for-alloc_fresh_gigantic_page.patch mm-mempolicy-intruduce-a-helper-huge_nodemask.patch mm-hugetlb-add-a-new-function-to-allocate-a-new-gigantic-page.patch mm-hugetlb-support-gigantic-surplus-pages.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