Re: [PATCH] wireless: iwlegacy: make const array static to shink object code size Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit

Colin Ian King
2017-09-22T10:05:16Z

On 22/09/17 11:03, Joe Perches wrote:
> On Fri, 2017-09-22 at 09:23 +0200, Julia Lawall wrote:
>>
>> On Thu, 21 Sep 2017, Colin King wrote:
>>
>>> From: Colin Ian King <colin.king@canonical.com>
>>>
>>> Don't populate const array ac_to_fifo on the stack in an inlined
>>> function, instead make it static. Makes the object code smaller
>>> by over 800 bytes:
>>>
>>> text data bss dec hex filename
>>> 159029 33154 1216 193399 2f377 4965-mac.o
>>>
>>> text data bss dec hex filename
>>> 158122 33250 1216 192588 2f04c 4965-mac.o
>>>
>>> (gcc version 7.2.0 x86_64)
>>
>> Gcc 7 must be much more aggressive about inlining than gcc 4. Here is the
>> change that I got on this file:
>>
>> text data bss dec hex filename
>> - 76346 1494 152 77992 130a8 drivers/net/wireless/intel/iwlegacy/4965-mac.o
>> + 76298 1494 152 77944 13078 drivers/net/wireless/intel/iwlegacy/4965-mac.o
>> decrease of 48
>
> More likely different CONFIG options.
>
> e.g. allyesconfig vs defconfig with wireless
>
yup, I used allyesconfig