RE: [PATCH] x86/mce: Restore MCA polling interval halving

Zhuo, Qiuxu
2026-04-15T13:39:14Z

Hi Boris,

> From: Borislav Petkov <bp@alien8.de>
> [...]
> Subject: Re: [PATCH] x86/mce: Restore MCA polling interval halving
>
> On Tue, Apr 07, 2026 at 03:04:04PM +0000, Zhuo, Qiuxu wrote:
> > I injected a correctable error with the CMCI interrupt enabled on an
> > Intel testing machine, and this mce_early_notifier() was invoked. But
> > the following code in mce_notify_irq() is now never executed, and I didn't
> see the error log message "Machine check events logged".
>
> You did disable the CEC, right?

Yes, I disabled the RAS_CEC.

> In any case, let's have a look:
>
> When we log an MCE, we do:
>
> mce_log # add it to the genpool and run the works
> -> mce_irq_work
> -> mce_schedule_work
> -> ..
> -> mce_gen_pool_process # this'll send it down the notifier chain
> -> x86_mce_decoder_chain
> -> mce_early_notifier # that guy sees it here and issues the trace
> record
>
> Now, mce_notify_irq() would do mce_work_trigger() and issue the printk
> - dunno, I guess we still want our printk and probably should add it back

This printk is quite useful for checking whether an MCE error event occurs.
Even though it's rate-limited, I'd appreciate keeping it.

> - but the first one - the work triggering - that's mcelog. It is using that
> usermode helper gunk, dunno if you guys still need it.
>

I'm not sure whether any distros still use this user-mode helper to start mcelog or
mcelog-like tools. @Luck, Tony, could you comment? 😊

> Because mcelog does register to the decoder chain so it'll get to see the MCE
> eventually. So that part is fine.
>
> The only question is the usermode helper gunk...
>
> Tony?