函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:PageTail

函数原型:static __always_inline int PageTail(struct page *page)

返回类型:int

参数:

类型参数名称
struct page *page
183  返回:READ_ONCE( Bit zero is set )按位与1
调用者
名称描述
page_cache_deleteLock ordering:* ->i_mmap_rwsem (truncate_pagecache)* ->private_lock (__free_pte->__set_page_dirty_buffers)* ->swap_lock (exclusive_swap_page, others)* ->i_pages lock* ->i_mutex* ->i_mmap_rwsem (truncate->unmap_mapping_range)* ->mmap_sem* ->i_mmap_rwsem
unaccount_page_cache_page
truncate_inode_page
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.
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)
free_tail_pages_check
free_pages_prepare
slab_lockPer slab locking using the pagelock
slab_unlock
remove_migration_pteRestore a potential migration pte to a working pte entry
total_mapcount
split_huge_page_to_listThis function splits huge page into normal pages. @page can point to any* subpage of huge page to split. Split doesn't change the position of @page.* Only caller must hold pin on the @page, otherwise split fails with -EBUSY.* The huge page must be locked.
page_cgroup_inopage_cgroup_ino - return inode number of the memcg a page is charged to*@page: the page* Look up the closest online ancestor of the memory cgroup @page is charged to* and return its inode number or 0 if @page is not charged to any cgroup. It
PageCompound
PageLocked
__SetPageLocked
__ClearPageLocked
PageWaiters
SetPageWaiters
ClearPageWaiters
__ClearPageWaiters
PageSlab
__SetPageSlab
__ClearPageSlab
PageSlobFree
__SetPageSlobFree
__ClearPageSlobFree
PageSwapBacked
SetPageSwapBacked
ClearPageSwapBacked
__ClearPageSwapBacked
__SetPageSwapBacked
PageWritebackOnly test-and-set exist for PG_writeback. The unconditional operators are* risky: they bypass page accounting.
TestSetPageWriteback
TestClearPageWriteback
PageMappedToDisk
SetPageMappedToDisk
ClearPageMappedToDisk
PageReclaimPG_readahead is only used for reads; PG_reclaim is only for writes
SetPageReclaimPG_readahead is only used for reads; PG_reclaim is only for writes
ClearPageReclaimPG_readahead is only used for reads; PG_reclaim is only for writes
TestClearPageReclaim
PageMlocked
SetPageMlocked
ClearPageMlocked
__ClearPageMlocked
TestSetPageMlocked
TestClearPageMlocked
__SetPageUptodate
SetPageUptodate
ClearPageUptodate
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
PageTransTailPageTransTail returns true for both transparent huge pages* and hugetlbfs pages, so it should only be called when it's known* that hugetlbfs pages aren't involved.
__page_cache_add_speculativespeculatively take a reference to a page
find_subpage
set_page_refcountedTurn a non-refcounted page (->_refcount == 0) into refcounted with* a count of one.