[PATCH v3 0/9] mm, hwpoison: enable 1GB hugepage support (v3)

From: Naoya Horiguchi
Date: Wed Jun 29 2022 - 22:28:17 EST


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-naoya.horiguchi@xxxxxxxxx/T/#u
- v2: https://lore.kernel.org/linux-mm/20220623235153.2623702-1-naoya.horiguchi@xxxxxxxxx/T/#u

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(-)