Re: [PATCH] x86/platform/uv: make const pointer dots a static const array

From: Hans de Goede
Date: Thu Dec 02 2021 - 04:11:03 EST


Hi,

On 12/1/21 22:39, Steve Wahl wrote:
> On Tue, Nov 30, 2021 at 04:26:39PM -0800, Joe Perches wrote:
>> On Tue, 2021-11-30 at 13:34 -0600, Steve Wahl wrote:
>>> On Sat, Nov 27, 2021 at 05:03:20PM +0000, Colin Ian King wrote:
>>>> Don't populate the const array dots on the stack
>> []
>>> Examination of the disassembly shows that the compiler actually
>>> eliminates the creation of the pointer "dots" on the stack and just
>>> passes the address of the string constant to the printk function.
>>>
>>> So this change should not have any actual effect (I don't know where
>>> you got the "shrinks object code" from), and in my humble opinion
>>> makes the code less clear.
>>
>> Probably shrinks an allmodconfig where the symbols are referenced.
>> It probably doesn't do anything to a defconfig.
>
> OK, I looked. Under allmodconfig, the new code is one byte smaller.
>
> Defconfig doesn't include CONFIG_X86_UV and this file doesn't get
> compiled.
>
> Using defconfig plus CONFIG_X86_UV and prerequisites, the new code is
> 24 bytes larger, probably because of alignment added.
>
> allmodconfig:
>
> text data bss dec hex filename
> 30827 18358 1472 50657 c5e1 uv_nmi.o
> 30828 18358 1472 50658 c5e2 uv_nmi.orig.o
>
> default config + CONFIG_X86_UV:
>
> text data bss dec hex filename
> 9918 216 160 10294 2836 uv_nmi.o
> 9894 216 160 10270 281e uv_nmi.orig.o
>
> So I still don't think this patch makes sense.

I agree, so I've dropped this patch from the queue.

Regards,

Hans