[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKPOu+_EfTBxh7xpaRdypD-hnqAbgj-bSdMTZE4uafqMudxBRg@mail.gmail.com>
Date: Thu, 28 Aug 2025 07:17:35 +0200
From: Max Kellermann <max.kellermann@...os.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: david@...hat.com, lorenzo.stoakes@...cle.com, ziy@...dia.com,
baolin.wang@...ux.alibaba.com, Liam.Howlett@...cle.com, npache@...hat.com,
ryan.roberts@....com, dev.jain@....com, baohua@...nel.org,
shikemeng@...weicloud.com, kasong@...cent.com, nphamcs@...il.com,
bhe@...hat.com, chrisl@...nel.org, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] huge_mm.h: disallow is_huge_zero_folio(NULL)
On Thu, Aug 28, 2025 at 1:53 AM Andrew Morton <akpm@...ux-foundation.org> wrote:
> OK, but it remains the case that we have seen code which calls
> is_huge_zero_folio() prior to the initialization of huge_zero_folio.
>
> Is this a bug? I think so. Should we be checking for recurrences of
> this bug?
Why do you believe it's a bug? To me, as a newbie here, such a call
seems perfectly fine; please explain.
> Also, sigh. I do dislike seeing VM_WARN_ON_ONCE() in an inline
> function - heaven knows how much bloat that adds. Defconfig
> mm/huge_memory.o (which has three calls) grows by 80 bytes so I guess
> that's livable with.
Oh, how is this possible? defconfig has CONFIG_DEBUG_VM=n and that
means VM_WARN_ON_ONCE() is just BUILD_BUG_ON_INVALID() which should
generate no code at all.
Here on my computer (aarch64 with GCC 14), the size (and the
disassembly) is exactly the same. This confirms what David Hildenbrand
predicted.
Are you seeing some compiler weirdness, maybe?
Powered by blists - more mailing lists