Re: [PATCH] include: kernel.h: rewrite min3, max3 and clamp using min and max

From: Andrew Morton
Date: Mon Jun 16 2014 - 19:18:12 EST


On Mon, 16 Jun 2014 23:07:22 +0200 Michal Nazarewicz <mina86@xxxxxxxxxx> wrote:

> It appears that gcc is better at optimising a double call to min
> and max rather than open coded min3 and max3. This can be observed
> here:
>
> ...
>
> Furthermore, after ___make allmodconfig && make bzImage modules___ this is the
> comparison of image and modules sizes:
>
> # Without this patch applied
> $ ls -l arch/x86/boot/bzImage **/*.ko |awk '{size += $5} END {print size}'
> 350715800
>
> # With this patch applied
> $ ls -l arch/x86/boot/bzImage **/*.ko |awk '{size += $5} END {print size}'
> 349856528

We saved nearly a megabyte by optimising min3(), max3() and clamp()?

I'm counting a grand total of 182 callsites for those macros. So the
saving is 4700 bytes per invokation? I don't believe it...


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/