mm, hwpoison: enable 1GB hugepage support (v3)
From: | Naoya Horiguchi <naoya.horiguchi-AT-linux.dev> | |
To: | linux-mm-AT-kvack.org | |
Subject: | [PATCH v3 0/9] mm, hwpoison: enable 1GB hugepage support (v3) | |
Date: | Thu, 30 Jun 2022 11:27:46 +0900 | |
Message-ID: | <20220630022755.3362349-1-naoya.horiguchi@linux.dev> | |
Cc: | Andrew Morton <akpm-AT-linux-foundation.org>, David Hildenbrand <david-AT-redhat.com>, Mike Kravetz <mike.kravetz-AT-oracle.com>, Miaohe Lin <linmiaohe-AT-huawei.com>, Liu Shixin <liushixin2-AT-huawei.com>, Yang Shi <shy828301-AT-gmail.com>, Oscar Salvador <osalvador-AT-suse.de>, Muchun Song <songmuchun-AT-bytedance.com>, Naoya Horiguchi <naoya.horiguchi-AT-nec.com>, linux-kernel-AT-vger.kernel.org | |
Archive-link: | Article |
Here is v3 of "enabling memory error handling on 1GB hugepage" patchset. I applied feedbacks for v2, thank you very much. Overall design of the patchset is unchanged. Please see individual patches for details about changes. Patch dependency: - "mm/memory-failure: disable unpoison once hw error happens" (actually the conflict is not logical one, but adding MF_SIMULATED to mf_flags conflicts with patch 6/9.) Previous versions: - v1: https://lore.kernel.org/linux-mm/20220602050631.771414-1-... - v2: https://lore.kernel.org/linux-mm/20220623235153.2623702-1... Thanks, Naoya Horiguchi --- Summary: Naoya Horiguchi (9): mm/hugetlb: check gigantic_page_runtime_supported() in return_unused_surplus_pages() mm/hugetlb: separate path for hwpoison entry in copy_hugetlb_page_range() mm/hugetlb: make pud_huge() and follow_huge_pud() aware of non-present pud entry mm, hwpoison, hugetlb: support saving mechanism of raw error pages mm, hwpoison: make unpoison aware of raw error info in hwpoisoned hugepage mm, hwpoison: set PG_hwpoison for busy hugetlb pages mm, hwpoison: make __page_handle_poison returns int mm, hwpoison: skip raw hwpoison page in freeing 1GB hugepage mm, hwpoison: enable memory error handling on 1GB hugepage arch/x86/mm/hugetlbpage.c | 8 ++- include/linux/hugetlb.h | 18 +++++- include/linux/mm.h | 2 +- include/linux/swapops.h | 9 +++ include/ras/ras_event.h | 1 - mm/hugetlb.c | 99 ++++++++++++++++++++++--------- mm/memory-failure.c | 148 ++++++++++++++++++++++++++++++++++++---------- 7 files changed, 224 insertions(+), 61 deletions(-)