Re: [Patch V1 1/3] x86, mce: MCE log size not enough for high core parts

Borislav Petkov
2015-09-24T21:07:40Z

On Thu, Sep 24, 2015 at 01:22:12PM -0700, Raj, Ashok wrote:
> Another reason i had a separate buffer in my earlier patch was to avoid
> calling rcu() functions from the offline CPU. I had an offline discussion
> with Paul McKenney he said don't do that...
>
> mce_gen_pool_add()->gen_pool_alloc() which calls rcu_read_lock() and such.
> So it didn't seem approprite.

How are you ever going to call into those from an offlined CPU?!

And that's easy:

if (!cpu_online(cpu))
return;

> Also the function doesn't seem safe to be called in NMI context. Although

That's why it is a lockless buffer - we added it *exactly* because we didn't
want to call printk in an NMI context. So please expand...

> MCE is different, for all intentional purposes we should treat both as same
> priority. The old style log is simple and tested in those cases.
>
> I like everything you say below... something we could do as our next phase
> of improving logging and might need more careful work to build it right.
>
> just like how MC banks have overwrite rules, we can possibly do something
> like that if the buffer fills up.

Right.

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.