Re: Linux 4.9.6 ( Restore IO-APIC irq_chip retrigger callback , breaks my box )

From: Borislav Petkov
Date: Mon Feb 13 2017 - 05:29:12 EST


On Mon, Feb 13, 2017 at 02:26:20AM +0100, Gabriel C wrote:
> I didn't tested your patch yet but did a boot with mce=off and nomce
> which seems to not really works since is still want to mc_device_add()
> even when off.

mc_device_add() is microcode loader's ->add_dev() subsys pointer and
that's not from mce. From mce you should be seeing only (with the debug
patch applied):

[ 1.717508] mce: mcheck_init_device: entry
[ 1.718769] mce: Unable to init device /dev/mcelog (rc: -5)

> See :
>
> http://ftp.frugalware.org/pub/other/people/crazy/kernel/t/crash_mce_off.jpg

That looks like core 13 got the NMI from the watchdog at

if (wait)
csd_lock_wait(csd);

IINM and from what I could correlate to the asm it generates here,
RIP points to that READ_ONCE there in smp_cond_load_acquire() in
smp_call_function_single() which is called by collect_cpu_info() of the
microcode loader to get the microcode-relevant info from the CPU.

So this is simply a bystander CPU which got interrupted.

> I'll build an .10-rc8 with your patch tomorrow .. is somewhat late now here :)

Ok.

> Another thing is .. there seems to be a real bug in tsc code .
>
> I've build an -rc8 with a lot more debug options on an now I see the following :

Right before I went to bed I thought of telling you to enable lockdep :-)

Good. :-)

--
Regards/Gruss,
Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.