Re: [PATCH v5 5/8] mm: HUGE_VMAP arch support cleanup

From: Nicholas Piggin
Date: Fri Aug 21 2020 - 06:40:07 EST


Excerpts from Christophe Leroy's message of August 21, 2020 3:40 pm:
>
>
> Le 21/08/2020 à 06:44, Nicholas Piggin a écrit :
>> This changes the awkward approach where architectures provide init
>> functions to determine which levels they can provide large mappings for,
>> to one where the arch is queried for each call.
>>
>> This removes code and indirection, and allows constant-folding of dead
>> code for unsupported levels.
>
> I think that in order to allow constant-folding of dead code for
> unsupported levels, you must define arch_vmap_xxx_supported() as static
> inline in a .h
>
> If you have them in .c files, you'll get calls to tiny functions that
> will always return false, but will still be called and dead code won't
> be eliminated. And performance wise, that's probably not optimal either.

Yeah that's true actually, I think I didn't find a good place to add
the prototypes in the arch code but I'll have another look and either
rewrite the changelog or remove it. Although this does get a step closer
at least.

Thanks,
Nick