From: Lance Yang <lance.yang@linux.dev>
To: David Hildenbrand <david@redhat.com>,
"Zhuo, Qiuxu" <qiuxu.zhuo@intel.com>
Cc: "Luck, Tony" <tony.luck@intel.com>,
Jiaqi Yan <jiaqiyan@google.com>,
"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
"lorenzo.stoakes@oracle.com" <lorenzo.stoakes@oracle.com>,
"linmiaohe@huawei.com" <linmiaohe@huawei.com>,
"ziy@nvidia.com" <ziy@nvidia.com>,
"baolin.wang@linux.alibaba.com" <baolin.wang@linux.alibaba.com>,
"Liam.Howlett@oracle.com" <Liam.Howlett@oracle.com>,
"npache@redhat.com" <npache@redhat.com>,
"ryan.roberts@arm.com" <ryan.roberts@arm.com>,
"dev.jain@arm.com" <dev.jain@arm.com>,
"baohua@kernel.org" <baohua@kernel.org>,
"nao.horiguchi@gmail.com" <nao.horiguchi@gmail.com>,
"Chen, Farrah" <farrah.chen@intel.com>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Andrew Zaborowski <andrew.zaborowski@intel.com>
Subject: Re: [PATCH 1/1] mm: prevent poison consumption when splitting THP
Date: Tue, 30 Sep 2025 18:20:22 +0800 [thread overview]
Message-ID: <a94541b0-7c3c-4551-a03c-e1f83445baa7@linux.dev> (raw)
In-Reply-To: <f637f793-7979-4817-bfb4-732ddb7d2e32@linux.dev>
On 2025/9/30 18:13, Lance Yang wrote:
>
>
> On 2025/9/30 16:53, David Hildenbrand wrote:
>> On 30.09.25 03:48, Lance Yang wrote:
>>> On Tue, Sep 30, 2025 at 3:07 AM David Hildenbrand <david@redhat.com>
>>> wrote:
>>>>
>>>> On 29.09.25 18:30, Zhuo, Qiuxu wrote:
>>>>> Hi Tony,
>>>>>
>>>>>> From: Luck, Tony <tony.luck@intel.com>
>>>>>> [...]
>>>>>> Subject: RE: [PATCH 1/1] mm: prevent poison consumption when
>>>>>> splitting THP
>>>>>>
>>>>>>> Miaohe mentioned in another e-mail that there was an HWPoisoned flag
>>>>>> for the raw error 4K page.
>>>>>>> We could use that flag just to skip that raw error page and still
>>>>>>> use
>>>>>>> the zeropage for other healthy sub-pages. I'll try that.
>>>>>>
>>>>>> That HWPoisoned flag is only set for raw pages where an error has
>>>>>> been
>>>>>> detected. Maybe Linux could implement an
>>>>>> "is_this_page_all_zero_mc_safe()"[1] that would catch undetected
>>>>>> poison
>>>>>
>>>>> This sounds like a great suggestion to me.
>>>>> Let's see what others think about this and the name (though the
>>>>> name already LGTM 😊).
>>>>
>>>> The function name is just ... special. Not the good type of special
>>>> IMHO. :)
>>>>
>>>> Note that we'll be moving to pages_identical() in [1]. Maybe we would
>>>> want a pages_identical_mc() or sth. like that as a follow up later.
>>>>
>>>>
>>>> So in any case, make that a follow-up work on top of a simple fix.
>>>
>>> Yeah. IIRC, as David suggested earlier, we can just check if a page is
>>> poisoned using PageHWPoison().
>>>
>>> Perhaps we should move this check into pages_identical()? This would
>>> make
>>> it a central place to determine if pages are safe to access and merge ;)
>>
>> I would have to go into memcmp_pages(). Would be an option, but not
>> sure if we should rather let callers deal with that.
>>
>> For example, in some cases it might be sufficient to just check if the
>> large folio has any poisoned page and give up early.
>
> FWIW, one idea I had was to create a unified pre-flight checker, like
> folio_pages_identical_prepare(struct folio *folio). A caller could use
> it before a loop of pages_identical() calls to pre-check a folio :)
Forgot to add:
It would centralize all folio-level checks.
So if we ever need a new check in the future, we'd only modify the
prepare helper, not all the individual callers.
next prev parent reply other threads:[~2025-09-30 10:20 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-28 3:28 [PATCH 1/1] mm: prevent poison consumption when splitting THP Qiuxu Zhuo
2025-09-28 21:55 ` Jiaqi Yan
2025-09-29 12:29 ` Miaohe Lin
2025-09-29 13:57 ` Zhuo, Qiuxu
2025-09-29 15:15 ` Jiaqi Yan
2025-09-29 13:27 ` Zhuo, Qiuxu
2025-09-29 15:51 ` Luck, Tony
2025-09-29 16:30 ` Zhuo, Qiuxu
2025-09-29 17:25 ` David Hildenbrand
2025-09-30 1:48 ` Lance Yang
2025-09-30 8:53 ` David Hildenbrand
2025-09-30 10:13 ` Lance Yang
2025-09-30 10:20 ` Lance Yang [this message]
2025-09-29 7:34 ` David Hildenbrand
2025-09-29 13:52 ` Zhuo, Qiuxu
2025-09-29 16:12 ` David Hildenbrand
2025-10-12 1:37 ` Wei Yang
2025-10-12 4:23 ` Jiaqi Yan
2025-10-11 7:55 ` [PATCH v2 " Qiuxu Zhuo
2025-10-11 9:09 ` Lance Yang
2025-10-11 18:18 ` Andrew Morton
2025-10-12 1:23 ` Wei Yang
2025-10-13 17:15 ` Zi Yan
2025-10-14 2:42 ` Miaohe Lin
2025-10-14 14:19 ` [PATCH v3 " Qiuxu Zhuo
2025-10-14 14:29 ` David Hildenbrand
2025-10-14 14:51 ` Zhuo, Qiuxu
2025-10-15 6:49 ` [PATCH v4 " Qiuxu Zhuo
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=a94541b0-7c3c-4551-a03c-e1f83445baa7@linux.dev \
--to=lance.yang@linux.dev \
--cc=Liam.Howlett@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=andrew.zaborowski@intel.com \
--cc=baohua@kernel.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=david@redhat.com \
--cc=dev.jain@arm.com \
--cc=farrah.chen@intel.com \
--cc=jiaqiyan@google.com \
--cc=linmiaohe@huawei.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lorenzo.stoakes@oracle.com \
--cc=nao.horiguchi@gmail.com \
--cc=npache@redhat.com \
--cc=qiuxu.zhuo@intel.com \
--cc=ryan.roberts@arm.com \
--cc=tony.luck@intel.com \
--cc=ziy@nvidia.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.