Re: [Question] mm/vmpressure.c: ilog2 calculation in constant

From: David Hildenbrand
Date: Fri May 28 2021 - 09:09:07 EST


On 28.05.21 14:08, torvic9@xxxxxxxxxxx wrote:
Hello,

in mm/vmpressure.c, we have defined this constant:

static const unsigned int vmpressure_level_critical_prio = ilog2(100 / 10);

My question is: Why do we calculate ilog2 instead of simply setting the constant to '3'?

My best guess is that it's in place to a) increase readability b) make it easier to adjust. The compiler will optimize it out either way, so we don't really care.

Having that said: it doesn't increase readability on my end. But I only took a quick glimpse. Maybe the "100 / 10 == 10" here is the magic bit also mentioned in the comment "when scanning depth is ~10%". So it can be adjusted "more easily" eventually ... at least not by me.

--
Thanks,

David / dhildenb