Function report |
Source Code:mm\memory-failure.c |
Create Date:2022-07-28 16:19:08 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Do all that is necessary to remove user space mappings. Unmap* the pages and send SIGBUS to the processes if the data was dirty.
Proto:static bool hwpoison_user_mappings(struct page *p, unsigned long pfn, int flags, struct page **hpagep)
Type:bool
Parameter:
| Type | Parameter | Name |
|---|---|---|
| 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 | If PageReserved(p) || PageSlab(p) Then Return true |
| 975 | If Not Return true if this page is mapped into pagetables.* For compound page it returns true if any subpage of compound page is mapped. Then Return true |
| 983 | If PageSwapCache(p) Then |
| 986 | ttu |= corrupted page is recoverable |
| 995 | mapping = page_mapping(hpage) |
| 996 | If Not (flags & MF_MUST_KILL) && Not PageDirty(hpage) && mapping && mapping_cap_writeback_dirty(mapping) Then |
| 998 | If page_mkclean(hpage) Then |
| 999 | SetPageDirty(hpage) |
| 1000 | Else |
| 1001 | kill = 0 |
| 1002 | ttu |= corrupted page is recoverable |
| 1020 | If Not unmap_success Then pr_err("Memory failure: %#lx: failed to unmap page (mapcount=%d)\n", pfn, page_mapcount(hpage)) |
| 1028 | If mlocked Then 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 | Return unmap_success |
| Name | Describe |
|---|---|
| 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 |
| 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 |