Re: [PATCH RFC V2 3/5] jump_label: if a key has already been initialized, don't nop it out

Jason Baron
2011-10-04T17:53:38Z

On Tue, Oct 04, 2011 at 09:30:01AM -0700, H. Peter Anvin wrote:
> On 10/04/2011 07:10 AM, Jason Baron wrote:
> >
> > 1) The jmp +0, is a 'safe' no-op that I know is going to initially
> > boot for all x86. I'm not sure if there is a 5-byte nop that works on
> > all x86 variants - but by using jmp +0, we make it much easier to debug
> > cases where we may be using broken no-ops.
> >
>
> There are *plenty*. jmp+0 is about as pessimal as you can get.
>
> The current recommendation when you don't know the CPU you're running at is:
>
> 3E 8D 74 26 00 (GENERIC_NOP5_ATOMIC)
>
> ... on 32 bits and ...
>
> 0F 1F 44 00 00 (P6_NOP5_ATOMIC)
>
> ... on 64 bits.
>
> -hpa
>

We're currently patching the code at run-time (boot and module load
time), with the 'ideal' no-op anyway, so the initial no-op doesn't
really matter much (other than to save patching if the initial and ideal
match).

-Jason