函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\hugetlb.c Create Date:2022-07-27 16:57:26
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Common helper to allocate a fresh hugetlb page. All specific allocators* should use this function to get new hugetlb pages

函数原型:static struct page *alloc_fresh_huge_page(struct hstate *h, gfp_t gfp_mask, int nid, nodemask_t *nmask, nodemask_t *node_alloc_noretry)

返回类型:struct page

参数:

类型参数名称
struct hstate *h
gfp_tgfp_mask
intnid
nodemask_t *nmask
nodemask_t *node_alloc_noretry
1393  如果hstate_is_gigantic(h)则page等于alloc_gigantic_page(h, gfp_mask, nid, nmask)
1395  否则page等于alloc_buddy_huge_page(h, gfp_mask, nid, nmask, node_alloc_noretry)
1398  如果非page则返回:NULL
1401  如果hstate_is_gigantic(h)则prep_compound_gigantic_page(page, huge_page_order(h))
1403  prep_new_huge_page(h, page, page_to_nid(page))
1405  返回:page
调用者
名称描述
alloc_pool_huge_pageAllocates a fresh page to the hugetlb allocator pool in the node interleaved* manner.
alloc_surplus_huge_pageAllocates a fresh surplus page from the page allocator.
alloc_migrate_huge_page