Messages in this thread | | | Date | Thu, 10 Jun 2010 11:04:22 -0400 | From | Jason Baron <> | Subject | Re: [PATCH 03/13] jump label v9: x86 support |
| |
On Thu, Jun 10, 2010 at 02:14:40PM +0200, Ingo Molnar wrote: > * Peter Zijlstra <peterz@infradead.org> wrote: > > > On Wed, 2010-06-09 at 17:39 -0400, Jason Baron wrote: > > > + select HAVE_ARCH_JUMP_LABEL if !CC_OPTIMIZE_FOR_SIZE > > > > That deserves a comment somewhere, it basically makes OPTIMIZE_FOR_SIZE > > useless... > > Hm, we need more than a comment for that - distros enable CC_OPTIMIZE_FOR_SIZE > all the time, for the massive kernel image (and hotpath cache footprint) > savings. Is this fixable? > > Thanks, > > Ingo >
When I tested 'jump label' with CC_OPTIMIZE_FOR_SIZE, I saw a small performance drop , b/c there is less block re-ordering happening. There was a small gcc patch that Richard Henderson wrote to allow block re-ordering while still taking size into account. However, it did increase the text size somewhat from what current optimize for size does. This small patch combined with jump labels resulted in the expected performance gains. However, to keep the size to what it is now a much more involved gcc patch would be required.
Thus, until this additional gcc optimization is done, I've posted this as depends on !CC_OPTIMIZE_FOR_SIZE. If this gcc work is done, we can lift this restriction. As mentioned, a number of large distros are compiled !CC_OPTIMIZE_FOR_SIZE (rhel, sles), so we should still get a lot of benefit from this. Also, if people find these patches useful we might create some more impetus for the gcc work. So i see this as an iterative thing.
thanks,
-Jason
| |