函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:follow_huge_pmd

函数原型:struct page *__weak follow_huge_pmd(struct mm_struct *mm, unsigned long address, pmd_t *pmd, int flags)

返回类型:struct page

参数:

类型参数名称
struct mm_struct *mm
unsigned longaddress
pmd_t *pmd
intflags
4965  struct page * page = NULL
4968  retry :
4969  ptl等于pmd_lockptr(mm, pmd)
4970  加自旋锁
4975  如果非pmd_huge( * pmd)则转到:out
4977  pte等于huge_ptep_get((pte_t * )pmd)
4978  如果pte_present(pte)则
4979  page等于Currently stuck as a macro due to indirect forward reference to* linux/mmzone.h's __section_mem_map_addr() definition:( * pmd)加address按位与PMD_MASK的反的值右移PAGE_SHIFT determines the page size 位的值
4980  如果flags按位与do get_page on page get_page(page)
4982  否则
4983  如果is_hugetlb_entry_migration(pte)则
4986  转到:retry
4993  out :
4994  自旋锁解锁
4995  返回:page
调用者
名称描述
follow_pmd_mask