Re: [PATCH] tracing: Cleanup the convoluted softirq tracepoints

From: Mathieu Desnoyers
Date: Mon Oct 25 2010 - 18:55:19 EST


* H. Peter Anvin (hpa@xxxxxxxxx) wrote:
> On 10/25/2010 03:01 PM, Mathieu Desnoyers wrote:
> > * H. Peter Anvin (hpa@xxxxxxxxx) 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/