From: Michal Hocko <mhocko@suse.com>
To: David Hildenbrand <david@redhat.com>
Cc: Gregory Price <gourry@gourry.net>,
linux-mm@kvack.org, corbet@lwn.net, muchun.song@linux.dev,
osalvador@suse.de, akpm@linux-foundation.org, hannes@cmpxchg.org,
laoar.shao@gmail.com, brauner@kernel.org, mclapinski@google.com,
joel.granados@kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, Mel Gorman <mgorman@suse.de>,
Alexandru Moise <00moses.alexander00@gmail.com>,
Mike Kravetz <mike.kravetz@oracle.com>,
David Rientjes <rientjes@google.com>
Subject: Re: [PATCH] Revert "mm, hugetlb: remove hugepages_treat_as_movable sysctl"
Date: Wed, 8 Oct 2025 17:23:44 +0200 [thread overview]
Message-ID: <aOaCAG6e5a7BDUxK@tiehlicka> (raw)
In-Reply-To: <271f9af4-695c-4aa5-9249-2d21ad3db76e@redhat.com>
On Wed 08-10-25 17:14:26, David Hildenbrand wrote:
> On 08.10.25 16:59, Michal Hocko wrote:
> > On Wed 08-10-25 10:58:23, David Hildenbrand wrote:
> > > On 07.10.25 23:44, Gregory Price wrote:
> > [...]
> > > > @@ -926,7 +927,8 @@ static inline gfp_t htlb_alloc_mask(struct hstate *h)
> > > > {
> > > > gfp_t gfp = __GFP_COMP | __GFP_NOWARN;
> > > > - gfp |= hugepage_movable_supported(h) ? GFP_HIGHUSER_MOVABLE : GFP_HIGHUSER;
> > > > + gfp |= (hugepage_movable_supported(h) || hugepages_treat_as_movable) ?
> > > > + GFP_HIGHUSER_MOVABLE : GFP_HIGHUSER;
> > >
> > > I mean, this is as ugly as it gets.
> > >
> > > Can't we just let that old approach RIP where it belongs? :)
> > >
> > > If something unmovable, it does not belong on ZONE_MOVABLE, as simple as that.
> >
> > yes, I do agree. This is just muddying the semantic of the zone.
> >
> > Maybe what we really want is to have a configurable zone rather than a
> > very specific consumer of it instead. What do I mean by that? We clearly
> > have physically (DMA, DMA32) and usability (NORMAL, MOVABLE) constrained
> > zones. So rather than having a MOVABLE zone we can have a single zone
> > $FOO_NAME zone with configurable attributes - like allocation
> > constrains (kernel, user, movable, etc). Now that we can overlap zones
> > this should allow for quite a lot flexibility. Implementation wise this
> > would require some tricks as we have 2 zone types for potentially 3
> > different major usecases (kernel allocations, userspace reserved ranges
> > without movability and movable allocations). I haven't thought this
> > through completely and mostly throwing this as an idea (maybe won't
> > work). Does that make sense?
>
> I suggested something called PREFER_MOVABLE in the past, that would prefer
> movable allocations but nothing would stop unmovable allocations to end up
> on it. But only as a last resort or when explicitly requested (e.g.,
> gigantic pages).
>
> Maybe that's similar to what you have in mind?
Slightly different because what I was thinking about was more towards
guarantee/predictability. Last resort is quite hard to plan around. It
might be a peak memory pressure to eat up portion of a memory block and
then fragmenting it to prevent other use planned for that memroy block.
That is why I called it user allocations because those are supposed to
be configured for userspace consumation and planned for that use. So you
would get pretty much a guarantee that no kernel allocations will fall
there.
--
Michal Hocko
SUSE Labs
next prev parent reply other threads:[~2025-10-08 15:23 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-07 21:44 [PATCH] Revert "mm, hugetlb: remove hugepages_treat_as_movable sysctl" Gregory Price
2025-10-07 21:59 ` Andrew Morton
2025-10-07 22:12 ` Gregory Price
2025-10-08 8:58 ` David Hildenbrand
2025-10-08 14:18 ` Gregory Price
2025-10-08 14:44 ` David Hildenbrand
2025-10-08 18:58 ` Gregory Price
2025-10-08 19:01 ` David Hildenbrand
2025-10-08 19:44 ` Gregory Price
2025-10-08 19:52 ` David Hildenbrand
2025-10-08 19:59 ` Gregory Price
2025-10-08 14:59 ` Michal Hocko
2025-10-08 15:14 ` David Hildenbrand
2025-10-08 15:23 ` Michal Hocko [this message]
2025-10-08 15:43 ` David Hildenbrand
2025-10-08 16:31 ` Gregory Price
2025-10-09 6:14 ` Michal Hocko
2025-10-09 15:29 ` Gregory Price
2025-10-09 18:47 ` Michal Hocko
2025-10-09 18:51 ` David Hildenbrand
2025-10-09 21:31 ` Gregory Price
2025-10-10 7:40 ` David Hildenbrand
2025-10-10 18:53 ` Gregory Price
2025-10-08 16:08 ` Frank van der Linden
2025-10-08 16:39 ` Gregory Price
2025-10-08 17:05 ` Gregory Price
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=aOaCAG6e5a7BDUxK@tiehlicka \
--to=mhocko@suse.com \
--cc=00moses.alexander00@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=brauner@kernel.org \
--cc=corbet@lwn.net \
--cc=david@redhat.com \
--cc=gourry@gourry.net \
--cc=hannes@cmpxchg.org \
--cc=joel.granados@kernel.org \
--cc=laoar.shao@gmail.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mclapinski@google.com \
--cc=mgorman@suse.de \
--cc=mike.kravetz@oracle.com \
--cc=muchun.song@linux.dev \
--cc=osalvador@suse.de \
--cc=rientjes@google.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.