函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:put_anon_vma

函数原型:static inline void put_anon_vma(struct anon_vma *anon_vma)

返回类型:void

参数:

类型参数名称
struct anon_vma *anon_vma
114  如果atomic_dec_and_test( & The refcount is taken on an anon_vma when there is no* guarantee that the vma of page tables will exist for* the duration of the operation. A caller that takes* the reference is responsible for clearing up the* anon_vma if they are the last user on release)则__put_anon_vma(anon_vma)
调用者
名称描述
__anon_vma_prepare__anon_vma_prepare - attach an anon_vma to a memory region*@vma: the memory region in question* This makes sure the memory mapping described by 'vma' has* an 'anon_vma' attached to it, so that we can associate the
anon_vma_forkAttach vma to its own anon_vma, as well as to the anon_vmas that* the corresponding VMA in the parent process is attached to.* Returns 0 on success, non-zero on failure.
unlink_anon_vmas
page_get_anon_vmaGetting a lock on a stable anon_vma from a page off the LRU is tricky!* Since there is no serialization what so ever against page_remove_rmap()* the best this function can do is return a locked anon_vma that might* have been relevant to this page
page_lock_anon_vma_readSimilar to page_get_anon_vma() except it locks the anon_vma.* Its a little more complex as it tries to keep the fast path to a single* atomic op -- the trylock. If we fail the trylock, we fall back to getting a
break_cow
remove_node_from_stable_tree
remove_rmap_item_from_treeRemoving rmap_item from stable or unstable tree.* This function will clean the information from the stable/unstable tree.
__unmap_and_move
unmap_and_move_huge_pageCounterpart of unmap_and_move_page() for hugepage migration
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.