Messages in this thread | | | Date | Mon, 25 Oct 2010 15:32:37 -0700 | From | "H. Peter Anvin" <> | Subject | Re: [PATCH] tracing: Cleanup the convoluted softirq tracepoints |
| |
On 10/19/2010 06:52 PM, Jason Baron wrote: > > thanks Steve. I was about to say this. When CONFIG_CC_OPTIMIZE_FOR_SIZE > is not set we don't get the double 'jmp' and the tracepoint code is > moved out of line. It was mentioned that a number of distros ship with > CONFIG_CC_OPTIMIZE_FOR_SIZE not set, and as Steve mentioned my original > patch set was conditional on !CONFIG_CC_OPTIMIZE_FOR_SIZE. > > using hot/cold labels gcc can fix the CONFIG_CC_OPTIMIZE_FOR_SIZE case, > but its a non-trivial amount of work for gcc. I was hoping that if jump > labels are included, we could make the gcc work happen. >
That's fair. I think jump labels are still a win even in the double-jump case (especially if the the tracepoint turns into a NOP rather than a JMP.)
Code generated with -Os has a bunch of other problems, too.
-hpa
| |