Re: [PATCH v2 1/8] minmax: Put all the clamp() definitions together
From: Linus Torvalds
Date: Sun Jul 28 2024 - 16:32:42 EST
On Sun, 28 Jul 2024 at 13:23, David Laight <David.Laight@xxxxxxxxxx> wrote:
>
> MIN() (and probably your MIN_T()) ought to have a check for
> being a constant in order to stop misuse.
No, we have a number of "runtime constants" that are basically
"constants" set up at boot-time for the architecture,as pointed out by
the powerpc people in private:
Ie, we have arch/powerpc/include/asm/page.h:
#define HPAGE_SHIFT hpage_shift
and then
#define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT)
and then
#define pageblock_order MIN_T(unsigned int,
HUGETLB_PAGE_ORDER, MAX_PAGE_ORDER)
and we really *REALLY* don't want to force the complicated "min_t()"
(or, worse yet, "min()") functions here just because there's actually
a variable involved.
That variable gets initialized early in
hugetlbpage_init_defaultsize(), so it's *effectively* a constant, but
not as far as the compiler is concerned.
Linus