Thread (6 messages) 6 messages, 5 authors, 2021-12-02

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

From: Joe Perches <joe@perches.com>
Date: 2021-12-01 00:27:38
Also in: lkml, platform-driver-x86

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:
quoted
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.
As such, unless there's something here I don't understand, I vote to
reject this patch.
[]
quoted
but make it static
const and make the pointer an array to remove a dereference. Shrinks
object code a few bytes too.
[]
quoted
diff --git a/arch/x86/platform/uv/uv_nmi.c b/arch/x86/platform/uv/uv_nmi.c
[]
quoted
@@ -725,7 +725,7 @@ static void uv_nmi_dump_cpu_ip(int cpu, struct pt_regs *regs)
  */
 static void uv_nmi_dump_state_cpu(int cpu, struct pt_regs *regs)
 {
-	const char *dots = " ................................. ";
+	static const char dots[] = " ................................. ";
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help