函数逻辑报告 |
Source Code:mm\memory-failure.c |
Create Date:2022-07-27 17:53:48 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:Do all that is necessary to remove user space mappings. Unmap* the pages and send SIGBUS to the processes if the data was dirty.
函数原型:static bool hwpoison_user_mappings(struct page *p, unsigned long pfn, int flags, struct page **hpagep)
返回类型:bool
参数:
类型 | 参数 | 名称 |
---|---|---|
struct page * | p | |
unsigned long | pfn | |
int | flags | |
struct page ** | hpagep |
954 | ttu等于 ignore mlock 按位或 don't age |
958 | kill等于1 |
960 | mlocked等于PageMlocked(hpage) |
966 | 如果PageReserved(p)或PageSlab(p)则返回:true |
968 | 如果非PageLRU(hpage)或PageHuge() only returns true for hugetlbfs pages, but not for normal or* transparent huge pages. See the PageTransHuge() documentation for more* details.的值则返回:true |
975 | 如果非Return true if this page is mapped into pagetables.* For compound page it returns true if any subpage of compound page is mapped.则返回:true |
983 | 如果PageSwapCache(p)则 |
986 | ttu或等于 corrupted page is recoverable |
995 | mapping等于page_mapping(hpage) |
996 | 如果非flags按位与MF_MUST_KILL的值且非PageDirty(hpage)且mapping且mapping_cap_writeback_dirty(mapping)则 |
998 | 如果page_mkclean(hpage)则 |
999 | SetPageDirty(hpage) |
1000 | 否则 |
1001 | kill等于0 |
1002 | ttu或等于 corrupted page is recoverable |
1020 | 如果非unmap_success则打印错误信息("Memory failure: %#lx: failed to unmap page (mapcount=%d)\n", pfn, page_mapcount(hpage)) |
1028 | 如果mlocked则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. |
1041 | forcekill等于PageDirty(hpage)或flags按位与MF_MUST_KILL |
1044 | 返回:unmap_success |
名称 | 描述 |
---|---|
memory_failure_hugetlb | |
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 |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |