Messages in this thread | | | Subject | Re: [PATCH 0/5 v2] [GIT PULL] x86/jump label: Paranoid checks and 2 or 5 byte nops | From | Steven Rostedt <> | Date | Thu, 02 Feb 2012 09:31:08 -0500 |
| |
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
| |