Thread (9 messages) 9 messages, 2 authors, 2021-08-24

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

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help