函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:get_huge_zero_page

函数原型:static struct page *get_huge_zero_page(void)

返回类型:struct page

参数:

83  retry :
84  如果此条件成立可能性大(为编译器优化)(atomic_inc_not_zero - increment unless the number is zero*@v: pointer of type atomic_t* Atomically increments @v by 1, if @v is non-zero.* Returns true if the increment was done.)则返回:READ_ONCE(huge_zero_page)
87  zero_page等于alloc_pages((GFP_TRANSHUGE | __GFP_ZERO) & ~ZONE_MOVABLE allowed , HPAGE_PMD_ORDER)
89  如果非zero_page
90  Disable counters
91  返回:NULL
93  Disable counters
94  禁止抢占()
95  如果cmpxchg( & huge_zero_page, NULL, zero_page)则
96  禁用抢占和中断()
97  __free_pages(zero_page, compound_order(zero_page))
98  转到:retry
102  atomic_set( & huge_zero_refcount, 2)
103  禁用抢占和中断()
104  返回:READ_ONCE(huge_zero_page)
调用者
名称描述
mm_get_huge_zero_page