函数逻辑报告 |
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 |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:PageTail
函数原型:static __always_inline int PageTail(struct page *page)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct page * | page |
183 | 返回:READ_ONCE( Bit zero is set )按位与1 |
名称 | 描述 |
---|---|
page_cache_delete | Lock 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_page | solate_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_page | Mark page as mlocked if not already.* If page on LRU, isolate and putback to move to unevictable list. |
munlock_vma_page | munlock_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_lock | Per slab locking using the pagelock |
slab_unlock | |
remove_migration_pte | Restore a potential migration pte to a working pte entry |
total_mapcount | |
split_huge_page_to_list | This 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_ino | page_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 | |
PageWriteback | Only test-and-set exist for PG_writeback. The unconditional operators are* risky: they bypass page accounting. |
TestSetPageWriteback | |
TestClearPageWriteback | |
PageMappedToDisk | |
SetPageMappedToDisk | |
ClearPageMappedToDisk | |
PageReclaim | PG_readahead is only used for reads; PG_reclaim is only for writes |
SetPageReclaim | PG_readahead is only used for reads; PG_reclaim is only for writes |
ClearPageReclaim | PG_readahead is only used for reads; PG_reclaim is only for writes |
TestClearPageReclaim | |
PageMlocked | |
SetPageMlocked | |
ClearPageMlocked | |
__ClearPageMlocked | |
TestSetPageMlocked | |
TestClearPageMlocked | |
__SetPageUptodate | |
SetPageUptodate | |
ClearPageUptodate | |
PageTransHuge | 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 |
PageTransTail | PageTransTail 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_speculative | speculatively take a reference to a page |
find_subpage | |
set_page_refcounted | Turn a non-refcounted page (->_refcount == 0) into refcounted with* a count of one. |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |