Re: [PATCH] mm: simplify size2index conversion of __kmalloc_index

From: Hyeonggon Yoo
Date: Sun Aug 28 2022 - 23:36:33 EST


On Mon, Aug 29, 2022 at 04:11:04AM +0100, Matthew Wilcox wrote:
> On Sun, Aug 28, 2022 at 11:14:48PM +0800, Dawei Li wrote:
> > Current size2index is implemented by one to one hardcode mapping,
> > which can be improved by order_base_2().
> > Must be careful to not violate compile-time optimization rule.
>
> This patch has been NACKed before (when submitted by other people).


Hmm right.
https://lkml.iu.edu/hypermail/linux/kernel/1606.2/05402.html

Christoph Lameter wrote:
> On Wed, 22 Jun 2016, Yury Norov wrote:
> > There will be no fls() for constant at runtime because ilog2() calculates
> > constant values at compile-time as well. From this point of view,
> > this patch removes code duplication, as we already have compile-time
> > log() calculation in kernel, and should re-use it whenever possible.\

> The reason not to use ilog there was that the constant folding did not
> work correctly with one or the other architectures/compilers. If you want
> to do this then please verify that all arches reliably do produce a
> constant there.

Can we re-evaluate this?

--
Thanks,
Hyeonggon