Re: [PATCH v3] x86/mce: Try printing all machine check banks known before panic

From: rui wang
Date: Fri Nov 21 2014 - 21:17:11 EST


On 11/22/14, Borislav Petkov <bp@xxxxxxxxx> wrote:
>... there are two possibilities:
>
> * error got logged into mcelog and is long out to dmesg.
>
> So we go look at dmesg. Not very easy to do when we panic, I know, so we
> better make sure we have serial connected.
>
>
> [ Btw., we can know when userspace is eating up error data:
> drivers/ras/debugfs.c. If it doesn't, we can then dump it to dmesg.
> We'll have to teach mcelog/ras daemons to open that file so that we
> don't issue to dmesg. ]
>
>
> * error is not logged yet so still in mcelog and we simply dump it out
> to dmesg.
>
> In any case, we cannot have fixed-size buffer for some number of errors
> and rely on it always having the error which caused the #MC as something
> will consume it at some point anyway.
>
> So maybe if we could get a more detailed explanation of when this thing
> happens, then we might address it better.
>

Hi Boris,
I think both possibilities are valid. But experiments show that the
error logs are not in the dmesg preserved by kdump in /var/crash/
after panic and reboot, and not in the mcelog.entry[] array in the
kernel. So they must be somewhere in user space memory. Even if we
have serial console connected we still can't cache them. The
difficulty is that there's no easy way to force a user space daemon to
do something during panic.

The new banks_saved[] array acts like a safe guard when you pass
something to someone else - to prevent it from getting lost in the
interim.

Thanks
Rui
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/