函数逻辑报告

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_zone

函数原型:static inline struct zone *page_zone(const struct page *page)

返回类型:struct zone

参数:

类型参数名称
const struct page *page
1229  返回:包含了结点中各内存域的数据结构[page_zonenum(page)]
调用者
名称描述
account_kernel_stack
saveable_pagesaveable_page - Check if the given page is saveable
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
pagetypeinfo_showblockcount_print
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)
__munlock_pagevec_fillFill up pagevec for __munlock_pagevec using pte walk* The function expects that the struct page corresponding to @start address is* a non-TPH page already pinned and in the @pvec, and that it belongs to @zone
munlock_vma_pages_rangemunlock_vma_pages_range() - munlock all pages in the vma range.'*@vma - vma containing range to be munlock()ed.*@start - start address in @vma of the range*@end - end of range in @vma.* For mremap(), munmap() and exit().* Called with @vma VM_LOCKED.
get_pageblock_bitmapReturn a pointer to the bitmap storing bits affecting a block of pages
pfn_to_bitidx
set_pfnblock_flags_maskset_pfnblock_flags_mask - Set the requested group of flags for a pageblock_nr_pages block of pages*@page: The page within the block of interest*@flags: The flags to set*@pfn: The target page frame number*@end_bitidx: The last bit of interest*@mask: mask
__free_pages_ok
__free_pages_core
__pageblock_pfn_to_pageCheck that the whole (or subset of) a pageblock given by the interval of* [start_pfn, end_pfn) is valid and within the same zone, before scanning it* with the migration of free compaction scanner
move_freepagesMove the free pages in a range to the free lists of the requested type.* Note that start_page and end_pages are not aligned on a pageblock* boundary. If alignment is required, use move_freepages_block()
free_unref_page_commit
__isolate_free_page
adjust_managed_page_count
is_free_buddy_page
set_hwpoison_free_buddy_pageSet PG_hwpoison flag if a given page is confirmed to be a free page. This* test is performed under the zone lock to prevent a race against page* allocation.
alloc_page_interleaveAllocate a page in interleaved policy.Own path because it needs to do special accounting.
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.
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.
pagetypeinfo_showmixedcount_print
init_pages_in_zone
set_migratetype_isolate
unset_migratetype_isolate
test_pages_isolatedCaller should ensure that requested range is in a single zone
cma_activate_area
__inc_zone_page_state
__dec_zone_page_state
new_page_nodemask
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.