函数逻辑报告 |
Source Code:include\linux\page-flags.h |
Create Date:2022-07-27 06:40:09 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:PageSwapCache
函数原型:static inline int PageSwapCache(const struct page *page)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| const struct page * | page |
| 391 | 返回:0 |
| 名称 | 描述 |
|---|---|
| get_futex_key | get_futex_key() - Get parameters which are the keys for a futex*@uaddr: virtual address of the futex*@fshared: 0 for a PROCESS_PRIVATE futex, 1 for PROCESS_SHARED*@key: address where result is stored |
| lru_lazyfree_fn | |
| mark_page_lazyfree | mark_page_lazyfree - make an anon page lazyfree*@page: page to deactivate* mark_page_lazyfree() moves @page to the inactive file list.* This is done to accelerate the reclaim of @page. |
| is_page_cache_freeable | |
| __remove_mapping | Same as remove_mapping, but if the page is removed from the mapping, it* gets returned with a refcount of 0. |
| shrink_page_list | shrink_page_list() returns the number of reclaimed pages |
| page_mapping | |
| page_mapping_file | For file cache pages, return the address_space, otherwise return NULL |
| do_wp_page | This routine handles present pages, when users try to write* to a shared page. It is done by copying the page to a new address* and decrementing the shared-page counter for the old page.* Note that this routine assumes that the protection checks have been |
| do_swap_page | We enter with non-exclusive mmap_sem (to exclude vma changes,* but allow concurrent faults), and pte mapped but not yet locked.* We return with pte unmapped and unlocked.* We return with the mmap_sem locked or unlocked in the same cases |
| try_to_unmap_one | @arg: enum ttu_flags will be passed to this argument |
| madvise_free_pte_range | |
| swap_slot_free_notify | |
| __swap_writepage | |
| swap_readpage | |
| swap_set_page_dirty | |
| add_to_swap_cache | add_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_cache | This must be called only on pages that have* been verified to be in the swap cache. |
| free_swap_cache | If we are the only user, then try to free up the swap cache. * Its ok to check for PageSwapCache without the page lock* here because we are going to recheck again inside* try_to_free_swap() _with_ the lock.* - Marcelo |
| page_trans_huge_map_swapcount | |
| reuse_swap_page | We can write to an anon page without COW if there are no other references* to it. And as a side-effect, free up its swap: because the old content* on disk will never be read, and seeking back there to write new content |
| try_to_free_swap | If swap is getting full, or if there are no more mappings of this page,* then try_to_free_swap is called to free its swap space. |
| get_ksm_page | get_ksm_page: checks if the page indicated by the stable node* is still its ksm page, despite having held no reference to it.* In which case we can trust the content of the page, and it* returns the gotten page; but if the page has now been zapped, |
| write_protect_page | |
| reuse_ksm_page | |
| migrate_page_move_mapping | Replace 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. |
| migrate_page_states | Copy the page to its new location |
| __split_huge_page_tail | |
| __split_huge_page | |
| can_split_huge_page | Racy check whether the huge page can be split |
| 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. |
| deferred_split_huge_page | |
| __collapse_huge_page_isolate | |
| khugepaged_scan_pmd | |
| mem_cgroup_try_charge | mem_cgroup_try_charge - try charging a page*@page: page to charge*@mm: mm context of the victim*@gfp_mask: reclaim mode*@memcgp: charged memcg return*@compound: charge the page as compound or small page* Try to charge @page to the memcg that @mm belongs |
| mem_cgroup_commit_charge | mem_cgroup_commit_charge - commit a page charge*@page: page to charge*@memcg: memcg to charge the page to*@lrucare: page might be on LRU already*@compound: charge the page as compound or small page* Finalize a charge transaction started by |
| hwpoison_user_mappings | Do all that is necessary to remove user space mappings. Unmap* the pages and send SIGBUS to the processes if the data was dirty. |
| memory_failure | memory_failure - Handle memory failure of a page.*@pfn: Page Number of the corrupted page*@flags: fine tune action taken* This function is called by the low level machine check code* of an architecture when it detects hardware memory corruption* of a page |
| page_file_mapping | |
| page_index | Return the pagecache index of the passed page. Regular pagecache pages* use ->index whereas swapcache pages use swp_offset(->private) |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |