Messages in this thread | | | Subject | Re: [PATCH 5/7] x86/jump labels: Use etiher 5 byte or 2 byte jumps | From | Steven Rostedt <> | Date | Mon, 12 Mar 2012 12:29:07 -0400 |
| |
On Mon, 2012-03-12 at 12:17 -0400, Jason Baron wrote: > > > 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. > > > > Hi Steven, > > Strange. I'm not seeing the text size savings with this patch, relative > to the 'old' jump label compiled code. Is your comparison against jump > labels disabled?
Note, the code went through several changes since I first pushed these. I did not redo the size tests in my rebase.
> > Here's the size without your patch 'CONFIG_JUMP_LABEL' set: > > text data bss dec hex filename > 10809465 1023976 1159168 12992609 c64061 vmlinux > > And with your patches and 'CONFIG_JUMP_LABEL' set: > > text data bss dec hex filename > 10812613 1023976 1163264 12999853 c65cad vmlinux
Interesting that your test had a 3k increase?? but the jump label code increased by only 720bytes. This looks very fishy. And yes, I did have jump label enabled for my changes. I didn't change the config in the two checks. IIRC, I did a localyesconfig so that I would get the updates of the modules that would be used it my code, against a distro config.
> > So an increase in text of 3148. Which is not completely explained by the > increase in arch/x86/kernel/jump_label.o: > > without your patch 'CONFIG_JUMP_LABEL' set: > > text data bss dec hex filename > 229 0 0 229 e5 arch/x86/kernel/jump_label.o > > > with your patch 'CONFIG_JUMP_LABEL' set: > > text data bss dec hex filename > 943 0 8 951 3b7 arch/x86/kernel/jump_label.o > > So jump_label.o is 714 bytes larger, which is not enough to explain the > 3148 byte increase.
Right this looks strange.
> > I'm using gcc (GCC) 4.6.2 20111027 (Red Hat 4.6.2-1).
I'm still using 4.6.0.
> > Can you please double check the savings.
I'll check again.
-- Steve
| |