Re: [PATCH] Revert "mm, hugetlb: remove hugepages_treat_as_movable sysctl"

Gregory Price
2025-10-08T19:59:17Z

On Wed, Oct 08, 2025 at 09:52:09PM +0200, David Hildenbrand wrote:
> On 08.10.25 21:44, Gregory Price wrote:
> > On Wed, Oct 08, 2025 at 09:01:09PM +0200, David Hildenbrand wrote:
> > > >
> > > > fwiw this works cleanly. Just dropping this here, but should continue
> > > > the zone conversation. I need to check, but does this actually allow
> > > > pinnable allocations? I thought pinning kicked off migration.
> > >
> > > Yes, it should because longterm pinning -> unmovable.
> > >
> >
> > You know i just realized, my test here only works before I allocated 1GB
> > pages on both node0 and node1. If I only allocate 1gb hugetlb on node1,
> > then the migrate pages call fails - because there are no 1gb pages
> > available there.
> >
> > I imagine this would cause hot-unplug/offline to fail since it uses the
> > same migration mechanisms.
> >
> > Worse I would imagine this would fail for 2MB.
> >
> > Seems like the 1GB limitation is arbitrary if 2MB causes the same issue.
>
> Yeah, with hugetlb allocations there are no guarantees either. It's just
> that page compaction / defragmentation makes it much less likely to fail in
> many scenarios.
>

Gotcha, well I am open to suggestions. This chicken bit here feels like
a sufficient guardrail, but I'm happy to explore the ZONE discussion
further if we think that's fruitful.

Joshua Hahn (cc) did privately question whether zonelist ordering breaks
for such a configuable zone. If memory can't live in ZONE_NORMAL or
ZONE_MOVABLE, but you want it to have some combination of attributes
between the two, it can't also live above ZONE_MOVABLE I don't think.

~Gregory