函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:dequeue_huge_page_nodemask

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

返回类型:struct page

参数:

类型参数名称
struct hstate *h
gfp_tgfp_mask
intnid
nodemask_t *nmask
855  node等于NUMA_NO_NODE
857  zonelist等于We get the zone list from the current node and the gfp_mask.* This zone list contains a maximum of MAXNODES*MAX_NR_ZONES zones.* There are two zonelists per node, one for all zones with memory and
859  retry_cpuset :
860  cpuset_mems_cookie等于read_mems_allowed_begin()
864  如果非cpuset_zone_allowed(zone, gfp_mask)则继续下一循环
870  如果zone_to_nid(zone)恒等于node则继续下一循环
872  node等于zone_to_nid(zone)
874  page等于dequeue_huge_page_node_exact(h, node)
875  如果page则返回:page
878  如果此条件成立可能性小(为编译器优化)(read_mems_allowed_retry(cpuset_mems_cookie))则转到:retry_cpuset
881  返回:NULL
调用者
名称描述
dequeue_huge_page_vma
alloc_huge_page_nodepage migration callback function
alloc_huge_page_nodemaskpage migration callback function