函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\memory-failure.c Create Date:2022-07-27 17:54:27
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:get_any_page

函数原型:static int get_any_page(struct page *page, unsigned long pfn, int flags)

返回类型:int

参数:

类型参数名称
struct page *page
unsigned longpfn
intflags
1644  ret等于Safely get reference count of an arbitrary page.* Returns 0 for a free page, -EIO for a zero refcount page* that is not free, and 1 for any other page type.* For 1 the page is returned with increased page count, otherwise not.
1646  如果ret恒等于1且非PageHuge() only returns true for hugetlbfs pages, but not for normal or* transparent huge pages. See the PageTransHuge() documentation for more* details.且非PageLRU(page)且非__PageMovable(page)则
1651  put_hwpoison_page(page)
1652  When a unknown page type is encountered drain as many buffers as possible* in the hope to turn the page into a LRU or free page, which we can handle.
1657  ret等于Safely get reference count of an arbitrary page.* Returns 0 for a free page, -EIO for a zero refcount page* that is not free, and 1 for any other page type.* For 1 the page is returned with increased page count, otherwise not.
1658  如果ret恒等于1且非PageLRU(page)则
1661  打印信息("soft_offline: %#lx: unknown non LRU page type %lx (%pGp)\n", pfn, 体系结构无关页的属性, & 体系结构无关页的属性)
1663  返回:负EIO
1666  返回:ret
调用者
名称描述
soft_offline_pagesoft_offline_page - Soft offline a page.*@pfn: pfn to soft-offline*@flags: flags. Same as memory_failure().* Returns 0 on success, otherwise negated errno.* Soft offline a page, by migration or invalidation,* without killing anything