[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9de2f7e2-a202-499d-8858-6936beb251d9@kernel.org>
Date: Wed, 3 Dec 2025 10:08:55 +0100
From: "David Hildenbrand (Red Hat)" <david@...nel.org>
To: Gregory Price <gourry@...rry.net>
Cc: Michal Hocko <mhocko@...e.com>, Andrew Morton
<akpm@...ux-foundation.org>, Aboorva Devarajan <aboorvad@...ux.ibm.com>,
vbabka@...e.cz, surenb@...gle.com, jackmanb@...gle.com, hannes@...xchg.org,
ziy@...dia.com, linux-mm@...ck.org, linux-kernel@...r.kernel.org,
Oscar Salvador <OSalvador@...e.com>, Juan Yescas <jyescas@...gle.com>
Subject: Re: [PATCH] mm/page_alloc: make percpu_pagelist_high_fraction reads
lock-free
On 12/3/25 10:02, Gregory Price wrote:
> On Wed, Dec 03, 2025 at 09:51:52AM +0100, David Hildenbrand (Red Hat) wrote:
>> On 12/3/25 09:42, Michal Hocko wrote:
>>>> if (!ret) {
>>>> /*
>>>> * TODO: fatal migration failures should bail
>>>> * out
>>>> */
>>>> do_migrate_range(pfn, end_pfn);
>>>> }
>>>> ...
>>>>
>>>> Maybe it's time to implement the bail out?
>>>
>>> That would be great but can we tell transient from permanent migration
>>> failures? Maybe long term pins could be treated as permanent failure.
>>
>> Did we try offline a ZONE_MOVABLE block or a ZONE_NORMAL block? In case of
>> ZONE_MOABLE, bailing out is not really the right thing to do.
>>
>
> My transient failure (although i'm not sure it was actually transient, i
> killed it and retried after a few minutes and it succeeded immediately)
> was on a ZONE_MOVABLE block.
Okay, so that one should not bail out. Longterm pinnins must never end
up on such memory, and if it happens, we have to identify why and fix it.
We have this known problem of "stream of short-term pinnings" that can
temporarily turn memory effectively unmovable. Juan will talk about that
at LPC [1].
We have another set of problematic cases (vmsplice(), fuse) but I would
assume that these are not the cases you are hitting.
So not sure what exact problem you were hitting.
[1] https://lpc.events/event/19/contributions/2144/
>
> Kind of suggested to me there was some bad condition the resolved once I
> took a second to release the lock and try again.
Hard to tell I'm afraid. Do you still have the dump_folio() calls we
print when migration fails?
--
Cheers
David
Powered by blists - more mailing lists