[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251022033531.389351-1-ziy@nvidia.com>
Date: Tue, 21 Oct 2025 23:35:26 -0400
From: Zi Yan <ziy@...dia.com>
To: linmiaohe@...wei.com,
david@...hat.com,
jane.chu@...cle.com
Cc: kernel@...kajraghav.com,
ziy@...dia.com,
akpm@...ux-foundation.org,
mcgrof@...nel.org,
nao.horiguchi@...il.com,
Lorenzo Stoakes <lorenzo.stoakes@...cle.com>,
Baolin Wang <baolin.wang@...ux.alibaba.com>,
"Liam R. Howlett" <Liam.Howlett@...cle.com>,
Nico Pache <npache@...hat.com>,
Ryan Roberts <ryan.roberts@....com>,
Dev Jain <dev.jain@....com>,
Barry Song <baohua@...nel.org>,
Lance Yang <lance.yang@...ux.dev>,
"Matthew Wilcox (Oracle)" <willy@...radead.org>,
Wei Yang <richard.weiyang@...il.com>,
Yang Shi <shy828301@...il.com>,
linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org,
linux-mm@...ck.org
Subject: [PATCH v3 0/4] Optimize folio split in memory failure
Hi all,
This patchset is a follow-up of "[PATCH v3] mm/huge_memory: do not change
split_huge_page*() target order silently."[1]. It improves how memory
failure code handles large block size(LBS) folios with
min_order_for_split() > 0. By splitting a large folio containing HW
poisoned pages to min_order_for_split(), the after-split folios without
HW poisoned pages could be freed for reuse. To achieve this, folio split
code needs to set has_hwpoisoned on after-split folios containing HW
poisoned pages.
This patchset includes:
1. A patch sets has_hwpoisoned on the right after-split folios after
scanning all pages in the folios,
2. A patch adds split_huge_page_to_order(),
3. Patch 2 and Patch 3 of "[PATCH v2 0/3] Do not change split folio target
order"[2],
This patchset is based on mm-new.
Changelog
===
>From V2[2]:
1. Patch 1 is sent separately as a hotfix[1].
2. set has_hwpoisoned on after-split folios if any contains HW poisoned
pages.
3. added split_huge_page_to_order().
4. added a missing newline after variable decalaration.
5. added /* release= */ to try_to_split_thp_page().
6. restructured try_to_split_thp_page() in memory_failure().
7. fixed a typo.
8. clarified the comment in soft_offline_in_use_page().
Link: https://lore.kernel.org/all/20251017013630.139907-1-ziy@nvidia.com/ [1]
Link: https://lore.kernel.org/all/20251016033452.125479-1-ziy@nvidia.com/ [2]
Zi Yan (4):
mm/huge_memory: preserve PG_has_hwpoisoned if a folio is split to >0
order
mm/huge_memory: add split_huge_page_to_order()
mm/memory-failure: improve large block size folio handling.
mm/huge_memory: fix kernel-doc comments for folio_split() and related.
include/linux/huge_mm.h | 22 ++++++++++++-----
mm/huge_memory.c | 55 ++++++++++++++++++++++++++++++-----------
mm/memory-failure.c | 30 +++++++++++++++++++---
3 files changed, 82 insertions(+), 25 deletions(-)
--
2.51.0
Powered by blists - more mailing lists