[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aW_Lj0q6swLVR8SY@gourry-fedora-PF4VCD3F>
Date: Tue, 20 Jan 2026 13:38:07 -0500
From: Gregory Price <gourry@...rry.net>
To: Li Zhe <lizhe.67@...edance.com>
Cc: david.laight.linux@...il.com, akpm@...ux-foundation.org,
ankur.a.arora@...cle.com, dan.j.williams@...el.com,
dave@...olabs.net, david@...nel.org, fvdl@...gle.com,
joao.m.martins@...cle.com, jonathan.cameron@...wei.com,
linux-cxl@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-mm@...ck.org, mhocko@...e.com, mjguzik@...il.com,
muchun.song@...ux.dev, osalvador@...e.de, raghavendra.kt@....com,
wangzhou1@...ilicon.com, zhanjie9@...ilicon.com
Subject: Re: [PATCH v2 0/8] Introduce a huge-page pre-zeroing mechanism
On Tue, Jan 20, 2026 at 01:18:19PM -0500, Gregory Price wrote:
> This is a trivial example, but it's unclear zero_on_free actually
> provides a benefit. You have to know ahead of time what the runtime
> behavior, pre-zeroed count, and allocation pattern (0->10->5->...) would
> be to determine whether there's an actual reduction in startup time.
>
> But just trivially, starting from the base case of no pages being
> zeroed, you're just injecting an additional zero(X) cost if program_a()
> consumes more hugepages than program_b().
>
> Long way of saying the shift from alloc to free seems heuristic-y and
> you need stronger analysis / better data to show this change is actually
> beneficial in the general case.
>
As an addendum to this: Maybe this is an indication that a global
switch (per-node sysfs entry) is not the best decision, and that maybe
there's a better way to accomplish this with a reduced scope.
hugetlb-only sysfs knob
- same issue as current proposal, but better placed
why would you only apply this on one node?
prctl thingy
- limits effects to just those opting into alloc-on-free
- probably still needs hugetlb-internal zeroed-pages tracking
but doesn't require the rest of the machinery
do it entirely in userland
- modify the software to zero before exit
- use MAP_UNINITIALIZED
- useful and simple if your hugetlb use case is homogenous
there's probably more oprtions
~Gregory
Powered by blists - more mailing lists