Messages in this thread |  | | | Date | Mon, 25 Oct 2010 18:55:07 -0400 | | From | Mathieu Desnoyers <> | | Subject | Re: [PATCH] tracing: Cleanup the convoluted softirq tracepoints |
| |
* H. Peter Anvin (hpa@zytor.com) wrote: > On 10/25/2010 03:01 PM, Mathieu Desnoyers wrote: > > * H. Peter Anvin (hpa@zytor.com) wrote: > >> On 10/20/2010 08:27 AM, Jason Baron wrote: > >>> > >>> sure. The idea of the 'jmp 0' was simply to be an lcd for x86, if > >>> there's a better lcd for x86, I'll update it. But note, that since the > >>> 'jmp 0' is patched to a better nop at boot, we wouldn't see much gain. > >>> And in the boot path we are using 'text_poke_early()', so avoiding that > >>> isn't going to improve things much. > >>> > >> > >> It's still a completely unnecessary waste of startup time some > >> potentially significant fraction of the time. Startup time matters, > >> especially as the number of tracepoints grow. > > > > We're still waiting for input for the best single-5-byte-instruction nop that > > will work on all x86 variants. Please note that the GENERIC_NOP5 is actually two > > instructions one next to each other, which is not appropriate here. > > > > On 64 bits, use P6_NOP5; it seems to not suck on any platform. > > On 32 bits, 3E 8D 74 26 00 (i.e. DS: + GENERIC_NOP4) seems to at least > do okay. > > I can't say these are the *best* (in fact, they are guaranteed not the > best on some significant number of chips), but they haven't sucked on > any chips I have been able to measure -- and are way faster than JMP.
Cool, thanks for the info! Steven and Jason should probably update their respective infrastructure to use the 32-bit 5-byte nop you propose rather than the 5-byte jump.
Mathieu
-- Mathieu Desnoyers Operating System Efficiency R&D Consultant EfficiOS Inc. http://www.efficios.com
|  |