Re: [PATCH] x86/mce/dev-mcelog: Call mce_register_decode_chain() much earlier
From: Borislav Petkov <bp@alien8.de>
Date: 2021-08-20 15:47:50
Also in:
lkml
From: Borislav Petkov <bp@alien8.de>
Date: 2021-08-20 15:47:50
Also in:
lkml
On Fri, Aug 20, 2021 at 07:43:14AM -0700, Luck, Tony wrote:
How can the kernel tell that all consumers have registered? Is there some new kernel crystal ball functionality that can predict that an EDAC driver module is going to be loaded at some point in the future when user space is up and running :-)
The crystal ball is called mcheck_late_init(). There's even:
/*
* Flush out everything that has been logged during early boot, now that
* everything has been initialized (workqueues, decoders, ...).
*/
mce_schedule_work();
in there. That thing is late_initcall() and by that time mcelog should
have been registered. And I wonder why isn't that working as expected...
I think the best we could do would be to set a timer for some point far enough out (one minute?, two minutes?) to give a chance for modules to load.
Forget modules - only the built-in stuff. We cannot be waiting
indefinitely until someone loads mcelog for decoding.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette