lkml.org 
[lkml]   [2012]   [Feb]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 0/5 v2] [GIT PULL] x86/jump label: Paranoid checks and 2 or 5 byte nops
From
Date
On Thu, 2012-02-02 at 06:10 -0800, H. Peter Anvin wrote:
> On 02/02/2012 05:51 AM, Ingo Molnar wrote:
> > [ 0.000000] Unexpected op at enqueue_task_fair+0xab/0x1fb [ffffffff81078a8d] (0f 1f 44 00 00) arch/x86/kernel/jump_label.c:74
>
> So this is presumably the expected NOP... what was it expecting instead?

It's expecting the "ideal_nop" that was determined at run time.

This code died on "enabling" the nop. I think the code now enables some
nops by default on boot up, which doesn't expect to see the
"default_nop".

I need to look at the code to see why it is enabling the nop this early.
I think there were patches out there to enable jump labels on boot up,
but I didn't think they were included yet.

But I have a good idea of what is happening.

Which explains why my box didn't trigger this bug. The one box that can
boot tip/master has the ideal_nop the same as the default_nop.

I'm still working on getting my other box to boot. I'm still hunting
down the patch in "out-of-tree" that prevents it from booting. This was
a pain, because the mainline commit that the "out-of-tree" was based on
contained another bug that prevented this box to boot. I just finished a
ktest reverse bisect on the mainline branch to find that bug:

commit 124482935fb7fb9303c8a8ab930149c6a93d9910
Author: Andi Kleen <andi@firstfloor.org>
Date: Fri Jun 18 23:09:00 2010 +0200

x86: Fix vsyscall on gcc 4.5 with -Os

Now I'm running a ktest bisect on the out-of-tree branch to find the
commit that prevents this box from booting. (there's a PRE_BUILD and
POST_BUILD option that lets me apply this patch at ever bisect :-)

-- Steve





\
 
 \ /
  Last update: 2012-02-02 15:33    [W:0.132 / U:0.228 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site