函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:hpage_nr_pages

函数原型:static inline int hpage_nr_pages(struct page *page)

返回类型:int

参数:

类型参数名称
struct page *page
234  如果此条件成立可能性小(为编译器优化)(PageHuge() 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)则返回:HPAGE_PMD_NR
236  返回:1
调用者
名称描述
unaccount_page_cache_page
lru_cache_add_active_or_unevictablelru_cache_add_active_or_unevictable*@page: the page to be added to LRU*@vma: vma in which page is mapped for determining reclaimability* Place @page on the active or unevictable LRU list, depending on its* evictability
lru_deactivate_fn
lru_lazyfree_fn
move_pages_to_lruThis moves pages from @list to corresponding LRU list.* We move them the other way if the page is referenced by one or more* processes, from rmap.* If the pages are mostly unmapped, the processing is fast and it is
shrink_active_list
check_and_migrate_cma_pages
clear_page_mlockLRU accounting for clear_page_mlock()
mlock_vma_pageMark page as mlocked if not already.* If page on LRU, isolate and putback to move to unevictable list.
munlock_vma_pagemunlock_vma_page - munlock a vma page*@page: page to be unlocked, either a normal page or THP page head* returns the size of the page as a page mask (0 for normal page,* HPAGE_PMD_NR - 1 for THP head page)
pfn_in_hpage
page_vma_mapped_walkpage_vma_mapped_walk - check if @pvmw->page is mapped in @pvmw->vma at*@pvmw->address*@pvmw: pointer to struct page_vma_mapped_walk. page, vma, address and flags* must be set. pmd, pte and ptl must be NULL.* Returns true if the page is mapped in the vma
page_mapped_in_vmapage_mapped_in_vma - check whether a page is really mapped in a VMA*@page: the page to test*@vma: the VMA to test* Returns 1 if the page is mapped into the page tables of the VMA, 0* if the page is not mapped into the page tables of this VMA. Only
do_page_add_anon_rmapSpecial version of the above for do_swap_page, which often runs* into pages that are exclusively owned by the current process.* Everybody else should continue to use page_add_anon_rmap above.
page_add_new_anon_rmappage_add_new_anon_rmap - add pte mapping to a new anonymous page*@page: the page to add the mapping to*@vma: the vm area in which the mapping is added*@address: the user virtual address mapped*@compound: charge the page as compound or small page
rmap_walk_anonmap_walk_anon - do something to anonymous page using the object-based* rmap method*@page: the page to be handled*@rwc: control variable according to each walk type* Find all the mappings of a page using the mapping pointer and the vma chains
rmap_walk_filemap_walk_file - do something to file page using the object-based rmap method*@page: the page to be handled*@rwc: control variable according to each walk type* Find all the mappings of a page using the mapping pointer and the vma chains
get_swap_bio
count_swpout_vm_event
__delete_from_swap_cacheThis must be called only on pages that have* been verified to be in the swap cache.
delete_from_swap_cacheThis must be called only on pages that have* been verified to be in the swap cache and locked.* It will never put the page into the free list,* the caller has a reference on the page.
put_swap_pageCalled after dropping swapcache to decrease refcnt to swap entries.
migrate_page_add
putback_movable_pagesPut previously isolated pages back onto the appropriate lists* from where they were once taken off for compaction/migration.* This function shall be used whenever the isolated pageset has been* built from lru, balloon, hugetlbfs page
expected_page_refs
migrate_page_move_mappingReplace the page in the mapping.* The number of remaining references must be:* 1 for anonymous pages without a mapping* 2 for pages with a mapping* 3 for pages with a mapping and PagePrivate/PagePrivate2 set.
copy_huge_page
unmap_and_moveObtain the lock on page, remove all ptes and migrate the page* to the newly allocated page in newpage.
add_page_for_migrationResolves the given address to a struct page, isolates it from the LRU and* puts it to the given pagelist
mem_cgroup_move_accountmem_cgroup_move_account - move account of the page*@page: the page*@compound: charge the page as compound or small page*@from: mem_cgroup which the page is moved from.*@to: mem_cgroup which the page is moved to. @from != @to.
mem_cgroup_try_chargemem_cgroup_try_charge - try charging a page*@page: page to charge*@mm: mm context of the victim*@gfp_mask: reclaim mode*@memcgp: charged memcg return*@compound: charge the page as compound or small page* Try to charge @page to the memcg that @mm belongs
mem_cgroup_commit_chargemem_cgroup_commit_charge - commit a page charge*@page: page to charge*@memcg: memcg to charge the page to*@lrucare: page might be on LRU already*@compound: charge the page as compound or small page* Finalize a charge transaction started by
mem_cgroup_cancel_chargemem_cgroup_cancel_charge - cancel a page charge*@page: page to charge*@memcg: memcg to charge the page to*@compound: charge the page as compound or small page* Cancel a charge transaction started by mem_cgroup_try_charge().
mem_cgroup_migratemem_cgroup_migrate - charge a page's replacement*@oldpage: currently circulating page*@newpage: replacement page* Charge @newpage as a replacement page for @oldpage. @oldpage will* be uncharged upon free.
mem_cgroup_swapoutmem_cgroup_swapout - transfer a memsw charge to swap*@page: page whose memsw charge to transfer*@entry: swap entry to move the charge to* Transfer the memsw charge of @page to @entry.
mem_cgroup_try_charge_swapmem_cgroup_try_charge_swap - try charging swap space for a page*@page: page being added to swap*@entry: swap entry to charge* Try to charge @page's memcg for the swap space at @entry.* Returns 0 on success, -ENOMEM on failure.
mlock_migrate_pagemlock_migrate_page - called only from migrate_misplaced_transhuge_page()* (because that does not go through the full procedure of migration ptes):* to migrate the Mlocked page flag; update statistics.
vma_address
add_page_to_lru_list
add_page_to_lru_list_tail
del_page_from_lru_list