函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |