|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] mce: Replace BUG() with a console warning
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1278674491 -3600
# Node ID 50cf787b70eb74adfe501a2484a0dffe7d15e567
# Parent a7a680442b738928eb963b31e22a3e428ac111a0
mce: Replace BUG() with a console warning in the MCE handler.
If the hardware reports corrected errors that we didn't see through
the status MSRs, complain on the console but don't BUG() the machine.
Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
---
xen/arch/x86/cpu/mcheck/amd_nonfatal.c | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diff -r a7a680442b73 -r 50cf787b70eb xen/arch/x86/cpu/mcheck/amd_nonfatal.c
--- a/xen/arch/x86/cpu/mcheck/amd_nonfatal.c Thu Jul 08 09:56:10 2010 +0100
+++ b/xen/arch/x86/cpu/mcheck/amd_nonfatal.c Fri Jul 09 12:21:31 2010 +0100
@@ -152,14 +152,19 @@ static void mce_amd_work_fn(void *data)
/* HW does not count *all* kinds of correctable errors.
* Thus it is possible, that the polling routine finds an
- * correctable error even if the HW reports nothing.
- * However, the other way around is not possible (= BUG).
- */
+ * correctable error even if the HW reports nothing. */
if (counter > 0) {
/* HW reported correctable errors,
* the polling routine did not find...
*/
- BUG_ON(adjust == 0);
+ if (adjust == 0) {
+ printk("CPU counter reports %"PRIu32
+ " correctable hardware error%s that %s"
+ " not reported by the status MSRs\n",
+ counter,
+ (counter == 1 ? "" : "s"),
+ (counter == 1 ? "was" : "were"));
+ }
/* subtract 1 to not double count the error
* from the polling service routine */
adjust += (counter - 1);
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] mce: Replace BUG() with a console warning in the MCE handler.,
Xen patchbot-unstable <=
|
|
|
|
|