Messages in this thread | ![/](/images/icornerl.gif) | | Subject | Re: [RFC][PATCH 2/2] x86/jump labels: Use etiher 5 byte or 2 byte jumps | From | Steven Rostedt <> | Date | Wed, 07 Aug 2013 13:57:32 -0400 |
| |
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@redhat.com> > > 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
| ![\](/images/icornerr.gif) |