Re: [PATCH 2/2] include/linux: apply __malloc attribute

From: Rasmus Villemoes
Date: Sat Mar 26 2016 - 15:06:24 EST


On Thu, Mar 24 2016, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Thu, 24 Mar 2016 00:42:32 +0100 Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> wrote:
>
>> Attach the malloc attribute to a few allocation functions. This helps
>> gcc generate better code by telling it that the return value doesn't
>> alias any existing pointers (which is even more valuable given the
>> pessimizations implied by -fno-strict-aliasing).
>>
> Shaves 6 bytes off my 1MB i386 defconfig vmlinux. Winner!

Well, the full bloat-o-meter summary is

add/remove: 0/0 grow/shrink: 72/155 up/down: 1165/-1674 (-509)

which sure still isn't much, but this isn't (just) about saving a few
bytes, but more about allowing gcc to generate better code; sometimes by
not having to reload, but also by enabling it to reorder instructions
(e.g. hoisting a load above a store) - the simple example was chosen
because it was very easy to see the relationship between the source and
the generated code.

Anyway, thanks for picking them up.

Rasmus