函数逻辑报告

linux kernel

5.5.9

Brick Technologies Co., Ltd

Source Code:mm\hugetlb.c Create Date:2020-09-18 13:30:11
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载PLEAEnglish

函数名称:only returns true for hugetlbfs pages, but not for normal or * transparent huge pages

函数原型:int PageHuge(struct page *page)

返回类型:int

参数:

类型参数名称
struct page *page
1299  如果非PageCompound(page)则返回:0
1302  page等于compound_head(page)
1303  返回: First tail page only 恒等于HUGETLB_PAGE_DTOR
调用者
名称描述
find_subpage
page_hstate
new_page_nodemask
page_cache_delete
unaccount_page_cache_page
page_cache_free_page
replace_page_cache_pagereplace a pagecache page with a new one
__add_to_page_cache_locked
__put_compound_page
page_mappedReturn true if this page is mapped into pagetables
__page_mapcountSlow path of page_mapcount() for compound pages
new_non_cma_page
check_and_migrate_cma_pages
page_vma_mapped_walkcheck if @pvmw->page is mapped in @pvmw->vma at
page_remove_file_rmap
page_remove_anon_compound_rmap
try_to_unmap_one@arg: enum ttu_flags will be passed to this argument
has_unmovable_pagesThis function checks whether pageblock includes unmovable pages or not
page_trans_huge_map_swapcount
hugetlb_cgroup_from_page
set_hugetlb_cgroup
page_huge_activeTest to determine whether the hugepage is "active/in-use" (i.e
PageHugeTemporaryInternal hugetlb specific page flag
__basepage_index
dissolve_free_huge_pageDissolve a given free hugepage into free buddy pages. This function does * nothing for in-use hugepages and non-hugepages
alloc_new_node_pagepage allocation callback for NUMA node migration
new_pageAllocate a new page for page migration based on vma policy
putback_movable_pagesPut previously isolated pages back onto the appropriate lists * from where they were once taken off for compaction/migration
remove_migration_pteRestore a potential migration pte to a working pte entry
copy_huge_page
migrate_page_copy
migrate_pagesmigrate the pages specified in a list, to the free pages * supplied as the target for the page migration
add_page_for_migrationResolves the given address to a struct page, isolates it from the LRU and * puts it to the given pagelist
total_mapcount
page_trans_huge_mapcountThis calculates accurately how many mappings a transparent hugepage * has (unlike page_mapcount() which isn't fully accurate). This full * accuracy is primarily needed to know if copy-on-write faults can * reuse the page and change the mapping to read-write instead of * copying them. At the same time this returns the total_mapcount too
hugetlb_cgroup_migratehugetlb_lock will make sure a parallel cgroup rmdir won't happen * when we migrate hugepages
shake_pageWhen a unknown page type is encountered drain as many buffers as possible * in the hope to turn the page into a LRU or free page, which we can handle.
me_huge_pageHuge pages. Needs work
get_hwpoison_pageGet refcount for memory error handling:
hwpoison_user_mappingsDo all that is necessary to remove user space mappings
memory_failureHandle memory failure of a page.
unpoison_memoryUnpoison a previously poisoned page
__get_any_pageSafely get reference count of an arbitrary page
get_any_page
soft_offline_in_use_page
hwpoison_inject