函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:page_ref_freeze

函数原型:static inline int page_ref_freeze(struct page *page, int count)

返回类型:int

参数:

类型参数名称
struct page *page
intcount
166  ret等于此条件成立可能性大(为编译器优化)(atomic_cmpxchg( & Usage count. *DO NOT USE DIRECTLY*. See page_ref.h , count, 0) == count)
168  如果page_ref_tracepoint_active(__tracepoint_page_ref_freeze)则__page_ref_freeze(page, count, ret)
170  返回:ret
调用者
名称描述
__remove_mappingSame as remove_mapping, but if the page is removed from the mapping, it* gets returned with a refcount of 0.
shrink_page_listshrink_page_list() returns the number of reclaimed pages
reuse_ksm_page
migrate_page_move_mappingReplace 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_huge_page_move_mappingThe expected number of remaining references is the same as that* of migrate_page_move_mapping().
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.