Re: [RFC][PATCH 2/2] x86/jump labels: Use etiher 5 byte or 2 bytejumps

From: Steven Rostedt
Date: Wed Aug 07 2013 - 13:57:37 EST


On Wed, 2013-08-07 at 13:36 -0400, Steven Rostedt wrote:
> plain text document attachment
> (0002-x86-jump-labels-Use-etiher-5-byte-or-2-byte-jumps.patch)
> From: Steven Rostedt <srostedt@xxxxxxxxxx>
>
> Have the jump labels add a "jmp" in the assembly instead
> of a default nop. This will cause the assembler to put in
> either a 2 byte or 5 byte jmp depending on where the target
> lable is.
>
> Then at compile time, the update_jump_label code will replace
> the jmps with either 2 or 5 byte nops.
>
> On boot up, the code can be examined to see if the jump label
> uses either a 2 or 5 byte nop and replace it.
>
> By allowing the jump labels to be 2 bytes, it speeds up the
> nops, not only 2 byte nops are faster than 5 byte nops, but also
> because it saves on cache foot print.
>
> text data bss dec hex filename
> 13403667 3666856 2998272 20068795 13239bb ../nobackup/mxtest/vmlinux-old
> 13398536 3666856 2998272 20063664 13225b0 ../nobackup/mxtest/vmlinux-new
>
> Converting the current v3.2 trace points saved 5,131 bytes.
> As more places use jump labels, this will have a bigger savings.
>

FYI, I didn't bother changing the change logs, so these numbers may be
totally bogus now.

-- Steve


--
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/