函数逻辑报告 |
Source Code:mm\memory-failure.c |
Create Date:2022-07-27 17:54:10 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称: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
函数原型:int memory_failure(unsigned long pfn, int flags)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
unsigned long | pfn | |
int | flags |
1243 | 如果非sysctl_memory_failure_recovery则panic - halt the system*@fmt: The text string to print* Display a message, then perform cleanups.* This function never returns. |
1247 | 如果非p则 |
1249 | pgmap等于get_dev_pagemap(pfn, NULL) |
1250 | 如果pgmap则返回:memory_failure_dev_pagemap(pfn, flags, pgmap) |
1256 | 返回:负ENXIO |
1259 | 如果PageHuge() only returns true for hugetlbfs pages, but not for normal or* transparent huge pages. See the PageTransHuge() documentation for more* details.则返回:memory_failure_hugetlb(pfn, flags) |
1261 | 如果TestSetPageHWPoison(p)则 |
1267 | orig_head等于hpage等于compound_head(p) |
1268 | num_poisoned_pages_inc() |
1282 | 如果is_free_buddy_page(p)则 |
1285 | 否则 |
1293 | 如果非PageAnon(p)或此条件成立可能性小(为编译器优化)(split_huge_page(p))则 |
1307 | VM_BUG_ON_PAGE(!page_count(p), p) |
1308 | hpage等于compound_head(p) |
1321 | 如果非PageLRU(p)且is_free_buddy_page(p)则 |
1322 | 如果flags按位与MF_COUNT_INCREASED则"Dirty/Clean" indication is not 100% accurate due to the possibility of* setting PG_dirty outside page lock. See also comment above set_page_dirty(). |
1326 | 返回:0 |
1335 | 如果PageCompound(p)且compound_head(p)不等于orig_head则 |
1338 | 转到:out |
1348 | 如果PageHuge() only returns true for hugetlbfs pages, but not for normal or* transparent huge pages. See the PageTransHuge() documentation for more* details.则page_flags等于体系结构无关页的属性 |
1350 | 否则page_flags等于体系结构无关页的属性 |
1356 | 如果非PageHWPoison(p)则 |
1363 | 如果hwpoison_filter(p)则 |
1390 | 转到:out |
1396 | 如果(PageLRU(p) && !PageSwapCache(p) && See page-flags.h for PAGE_MAPPING_FLAGS == NULL)则 |
1399 | 转到:out |
1402 | identify_page_state : |
1403 | res等于identify_page_state(pfn, p, page_flags) |
1404 | out : |
1406 | 返回:res |
名称 | 描述 |
---|---|
do_memory_failure | |
memory_failure_work_func | |
hwpoison_inject | |
srao_decode_notifier | |
madvise_inject_error | Error injection support for memory error handling. |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |