Function report |
Source Code:mm\memory-failure.c |
Create Date:2022-07-28 16:19:29 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name: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
Proto:int memory_failure(unsigned long pfn, int flags)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
unsigned long | pfn | |
int | flags |
1243 | If Not sysctl_memory_failure_recovery Then panic - halt the system*@fmt: The text string to print* Display a message, then perform cleanups.* This function never returns. |
1247 | If Not p Then |
1249 | pgmap = get_dev_pagemap(pfn, NULL) |
1250 | If pgmap Then Return memory_failure_dev_pagemap(pfn, flags, pgmap) |
1256 | Return -ENXIO |
1261 | If TestSetPageHWPoison(p) Then |
1267 | orig_head = hpage = compound_head(p) |
1268 | num_poisoned_pages_inc() |
1293 | If Not PageAnon(p) || Value for the false possibility is greater at compile time(split_huge_page(p)) Then |
1301 | If TestClearPageHWPoison(p) Then num_poisoned_pages_dec() |
1303 | put_hwpoison_page(p) |
1304 | Return -EBUSY |
1307 | VM_BUG_ON_PAGE(!page_count(p), p) |
1308 | hpage = compound_head(p) |
1321 | If Not PageLRU(p) && is_free_buddy_page(p) Then |
1322 | If flags & MF_COUNT_INCREASED Then "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 | Return 0 |
1335 | If PageCompound(p) && compound_head(p) != orig_head Then |
1338 | Go to out |
1356 | If Not PageHWPoison(p) Then |
1363 | If hwpoison_filter(p) Then |
1364 | If TestClearPageHWPoison(p) Then num_poisoned_pages_dec() |
1367 | put_hwpoison_page(p) |
1368 | Return 0 |
1390 | Go to out |
1396 | If (PageLRU(p) && !PageSwapCache(p) && See page-flags.h for PAGE_MAPPING_FLAGS == NULL) Then |
1399 | Go to out |
1402 | identify_page_state : |
1403 | res = identify_page_state(pfn, p, page_flags) |
1404 | out : |
1406 | Return res |
Name | Describe |
---|---|
do_memory_failure | |
memory_failure_work_func | |
hwpoison_inject | |
madvise_inject_error | Error injection support for memory error handling. |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |