函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:page_pgdat

函数原型:static inline pg_data_t *page_pgdat(const struct page *page)

返回类型:pg_data_t

参数:

类型参数名称
const struct page *page
1234  返回:NUMA节点数据区(page_to_nid(page))
调用者
名称描述
unaccount_page_cache_page
test_clear_page_writeback
__page_cache_releaseThis path almost never happens for VM activity - pages are normally* freed via pagevecs. But it gets used by networking.
pagevec_lru_move_fn
activate_page
release_pageslease_pages - batched put_page()*@pages: array of pages to release*@nr: number of pages* Decrement the reference count on all the pages in @pages. If it* fell to zero, remove the page from the LRU and free it.
isolate_lru_pagesolate_lru_page - tries to isolate a page from its LRU list*@page: page to isolate from its LRU list* Isolates a @page from an LRU list, clears PageLRU and adjusts the* vmstat statistic corresponding to whatever LRU list the page was on.
check_move_unevictable_pagesheck_move_unevictable_pages - check pages for evictability and move to* appropriate zone lru list*@pvec: pagevec with lru pages to check* Checks pages for evictability, if an evictable page is in the unevictable
kmalloc_orderTo avoid unnecessary overhead, we pass through large allocation requests* directly to the page allocator. We use __GFP_COMP, because we will need to* know the allocation order to free the pages properly in kfree.
workingset_evictionworkingset_eviction - note the eviction of a page from memory*@target_memcg: the cgroup that is causing the reclaim*@page: the page being evicted* Returns a shadow entry to be stored in @page->mapping->i_pages in place
workingset_activationworkingset_activation - note a page activation*@page: page that is being activated
check_and_migrate_cma_pages
__munlock_isolate_lru_pageIsolate a page from LRU with optional get_page() pin.* Assumes lru_lock already held and page already pinned.
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)
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
page_remove_anon_compound_rmap
add_to_swap_cacheadd_to_swap_cache resembles add_to_page_cache_locked on swapper_space,* but sets SwapCache flag and private instead of mapping and index.
__delete_from_swap_cacheThis must be called only on pages that have* been verified to be in the swap cache.
migrate_page_add
slob_new_pages
slob_free_pages
kfree释放内存
kmalloc_large_node
kfree释放内存
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
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
__split_huge_page
__mod_lruvec_slab_state
lock_page_lru
unlock_page_lru
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.
page_idle_get_pageIdle page tracking only considers user memory pages, for other types of* pages the idle flag is always unset and an attempt to set it is silently* ignored
__inc_node_page_state
__dec_node_page_state
__mod_lruvec_page_state
charge_slab_page
uncharge_slab_page