From: Miaohe Lin <linmiaohe@huawei.com>
To: <akpm@linux-foundation.org>, <naoya.horiguchi@nec.com>
Cc: <shy828301@gmail.com>, <mike.kravetz@oracle.com>,
<david@redhat.com>, <linux-mm@kvack.org>,
<linux-kernel@vger.kernel.org>, <linmiaohe@huawei.com>
Subject: [PATCH 3/3] mm/memory-failure.c: dissolve truncated hugetlb page
Date: Thu, 7 Apr 2022 21:03:52 +0800 [thread overview]
Message-ID: <20220407130352.15618-4-linmiaohe@huawei.com> (raw)
In-Reply-To: <20220407130352.15618-1-linmiaohe@huawei.com>
If me_huge_page meets a truncated huge page, hpage won't be dissolved
even if we hold the last refcnt. It's because the truncated huge page
has NULL page_mapping while it's not anonymous page too. Thus we lose
the last chance to dissolve it into buddy to save healthy subpages.
Remove PageAnon check to handle these huge pages too.
Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
---
mm/memory-failure.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/mm/memory-failure.c b/mm/memory-failure.c
index bd563f47630c..3f054dbb169d 100644
--- a/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -1046,8 +1046,7 @@ static int me_huge_page(struct page_state *ps, struct page *p)
* hugepage, so we can free and dissolve it into buddy to
* save healthy subpages.
*/
- if (PageAnon(hpage))
- put_page(hpage);
+ put_page(hpage);
if (__page_handle_poison(p)) {
page_ref_inc(p);
res = MF_RECOVERED;
--
2.23.0
next prev parent reply other threads:[~2022-04-07 13:04 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-07 13:03 [PATCH 0/3] A few fixup and cleanup patches for memory failure Miaohe Lin
2022-04-07 13:03 ` [PATCH 1/3] mm/memory-failure.c: avoid false-postive PageSwapCache test Miaohe Lin
2022-04-08 8:52 ` David Hildenbrand
2022-04-08 17:32 ` Yang Shi
2022-04-09 2:36 ` Miaohe Lin
2022-04-11 6:35 ` HORIGUCHI NAOYA(堀口 直也)
2022-04-11 13:19 ` Miaohe Lin
2022-04-12 6:37 ` HORIGUCHI NAOYA(堀口 直也)
2022-04-12 8:57 ` Miaohe Lin
2022-04-07 13:03 ` [PATCH 2/3] mm/memory-failure.c: minor cleanup for HWPoisonHandlable Miaohe Lin
2022-04-08 8:52 ` David Hildenbrand
2022-04-08 17:33 ` Yang Shi
2022-04-11 13:14 ` HORIGUCHI NAOYA(堀口 直也)
2022-04-07 13:03 ` Miaohe Lin [this message]
2022-04-11 13:13 ` [PATCH 3/3] mm/memory-failure.c: dissolve truncated hugetlb page HORIGUCHI NAOYA(堀口 直也)
2022-04-12 2:47 ` Miaohe Lin
2022-04-12 5:59 ` HORIGUCHI NAOYA(堀口 直也)
2022-04-12 6:10 ` Miaohe Lin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220407130352.15618-4-linmiaohe@huawei.com \
--to=linmiaohe@huawei.com \
--cc=akpm@linux-foundation.org \
--cc=david@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mike.kravetz@oracle.com \
--cc=naoya.horiguchi@nec.com \
--cc=shy828301@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox