函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:include\linux\page-flags.h Create Date:2022-07-27 06:40:10
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:PageHead

函数原型:static inline __attribute__((__always_inline__)) int PageHead(struct page *page)

返回类型:int

参数:

类型参数名称
struct page *page
550  返回:st_bit - Determine whether a bit is set*@nr: bit number to test*@addr: Address to start counting from
调用者
名称描述
lru_add_page_tailsed by __split_huge_page_refcount()
page_remove_file_rmap
page_huge_activeTest to determine whether the hugepage is "active/in-use" (i.e. being linked* to hstate->hugepage_activelist.)* This function can be called for tail pages, but never returns true for them.
PageHeadHugePageHeadHuge() only returns true for hugetlbfs head page, but not for* normal or transparent huge pages.
isolate_huge_page
putback_active_hugepage
add_page_for_migrationResolves the given address to a struct page, isolates it from the LRU and* puts it to the given pagelist
copy_huge_pmd
do_huge_pmd_wp_page_fallback
do_huge_pmd_wp_page
follow_trans_huge_pmd
zap_huge_pmd
unmap_page
get_mctgt_type_thpWe don't consider PMD mapped swapping or file mapped pages because THP does* not support them for now.* Caller should make sure that pmd_trans_huge(pmd) is true.
ClearPageCompound
PageTransHugePageHuge() only returns true for hugetlbfs pages, but not for* normal or transparent huge pages.* PageTransHuge() returns true for both transparent huge and* hugetlbfs pages, but not normal pages. PageTransHuge() can only be
PageDoubleMapPageDoubleMap indicates that the compound page is mapped with PTEs as well* as PMDs.* This is required for optimization of rmap operations for THP: we can postpone* per small page mapcount accounting (and its overhead from atomic operations)
SetPageDoubleMap
ClearPageDoubleMap
TestSetPageDoubleMap
TestClearPageDoubleMap
compound_order