Skip to contentSkip to conversation

corruption checker: print the DMI board name

PATCH In review Arjan van de Ven 3 participants 5 messages Oct 29, 2008 – Oct 30, 2008 x86

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 corruption checker: print the DMI board name

Quoted 2 lines

From 4f829eef5a31b68a0cbaf83a75ac8b0a1ed05afb Mon Sep 17 00:00:00 2001

From: Arjan van de Ven <[email protected]>
Date: Wed, 29 Oct 2008 09:13:23 -0700
Subject: [PATCH] corruption checker: print the DMI board name

when the memory corruptor checker hits (as it has done now based on kerneloops.org data), it would be extremely useful to know the DMI board name so we can add a blacklist for such a machine... without having to ask the user for lots of extra info.

---
 arch/x86/kernel/check.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
arch/x86/kernel/check.c +7 -1
index 2ac0ab7..f952182 100644
@@ -2,6 +2,7 @@
 #include <linux/sched.h>
 #include <linux/kthread.h>
 #include <linux/workqueue.h>
+#include <linux/dmi.h>
 #include <asm/e820.h>
 #include <asm/proto.h>
 
@@ -113,6 +114,7 @@ void check_for_bios_corruption(void)
 {
 	int i;
 	int corruption = 0;
+	const char *board;
 
 	if (!memory_corruption_check)
 		return;
@@ -131,7 +133,11 @@ void check_for_bios_corruption(void)
 		}
 	}
 
-	WARN_ONCE(corruption, KERN_ERR "Memory corruption detected in low memory\n");
+	board = dmi_get_system_info(DMI_PRODUCT_NAME);
+	if (!board)
+		board = "";
+	WARN_ONCE(corruption, KERN_ERR "Memory corruption detected in low memory\nBoard name: %s\n",
+		board);
 }
 
 static void check_corruption(struct work_struct *dummy);
Signature · 7 lines
1.5.5.1


-- 
Arjan van de Ven 	Intel Open Source Technology Centre
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org
#1 lore raw

PATCH 1/1 corruption checker: print the DMI board name on corruption

Hi Linus,

would you consider merging this patch for 2.6.28 still? Without this patch, kerneloops.org only gets to see THAT corruption happens, but doesn't have information about what kind of system the corruption is happening on.. (which is the useful part to make a DMI blacklist).

So far we have 1 such report in kerneloops.org but it's useless... no system information.

Quoted 1 line

From c66993517ac861964d6968d3672f88b3b69e29ce Mon Sep 17 00:00:00 2001

From: Arjan van de Ven <[email protected]>
Date: Wed, 29 Oct 2008 09:24:44 -0700
Subject: [PATCH] corruption checker: print the DMI board name on corruption

when the memory corruptor checker hits (as it has done now based on kerneloops.org data), it would be extremely useful to know the DMI board name so we can add a blacklist for such a machine... without having to ask the user for lots of extra info.

---
 arch/x86/kernel/setup.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)
arch/x86/kernel/setup.c +6 -1
index 0fa6790..d57fee2 100644
@@ -697,6 +697,7 @@ void check_for_bios_corruption(void)
 {
 	int i;
 	int corruption = 0;
+	const char *board;
 
 	if (!memory_corruption_check)
 		return;
@@ -715,7 +716,11 @@ void check_for_bios_corruption(void)
 		}
 	}
 
-	WARN(corruption, KERN_ERR "Memory corruption detected in low memory\n");
+	board = dmi_get_system_info(DMI_PRODUCT_NAME);
+	if (!board)
+		board = "";
+	WARN_ONCE(corruption, KERN_ERR "Memory corruption detected in low memory\nBoard name: %s\n",
+		board);
 }
 
 static void periodic_check_for_corruption(unsigned long data)
Signature · 1 line
1.5.5.1
#2 lore raw

Re: [PATCH] corruption checker: print the DMI board name on corruption

Quoted 10 lines · Arjan van de Ven

Hi Linus,

would you consider merging this patch for 2.6.28 still? Without this patch, kerneloops.org only gets to see THAT corruption happens, but doesn't have information about what kind of system the corruption is happening on.. (which is the useful part to make a DMI blacklist).

So far we have 1 such report in kerneloops.org but it's useless... no system information.

such "improve our kerneloops.org yield" patches are fair game up to -rc7 or so i think.

Ingo

#3 lore raw
In reply to Arjan van de Ven
Quoted 9 lines
Quoted 2 lines

From 4f829eef5a31b68a0cbaf83a75ac8b0a1ed05afb Mon Sep 17 00:00:00 2001

From: Arjan van de Ven <[email protected]>
Date: Wed, 29 Oct 2008 09:13:23 -0700
Subject: [PATCH] corruption checker: print the DMI board name

when the memory corruptor checker hits (as it has done now based on kerneloops.org data), it would be extremely useful to know the DMI board name so we can add a blacklist for such a machine... without having to ask the user for lots of extra info.

I'm not sure if blacklisting whole brand for one case of bit corruption is fair -- perhaps the memory was overheating?

Quoted 1 line

But ACK -- we certainly want to see the data.

Quoted 37 lines
---
 arch/x86/kernel/check.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
arch/x86/kernel/check.c +7 -1
index 2ac0ab7..f952182 100644
@@ -2,6 +2,7 @@
 #include <linux/sched.h>
 #include <linux/kthread.h>
 #include <linux/workqueue.h>
+#include <linux/dmi.h>
 #include <asm/e820.h>
 #include <asm/proto.h>
 
@@ -113,6 +114,7 @@ void check_for_bios_corruption(void)
 {
 	int i;
 	int corruption = 0;
+	const char *board;
 
 	if (!memory_corruption_check)
 		return;
@@ -131,7 +133,11 @@ void check_for_bios_corruption(void)
 		}
 	}
 
-	WARN_ONCE(corruption, KERN_ERR "Memory corruption detected in low memory\n");
+	board = dmi_get_system_info(DMI_PRODUCT_NAME);
+	if (!board)
+		board = "";
+	WARN_ONCE(corruption, KERN_ERR "Memory corruption detected in low memory\nBoard name: %s\n",
+		board);
 }
 
 static void check_corruption(struct work_struct *dummy);
Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
#4 lore raw
Quoted 7 lines · On Thu, 30 Oct 2008 12:06:53 +0100 Pavel Machek <[email protected]> wrote:
Quoted 7 lines
Quoted 3 lines

From 4f829eef5a31b68a0cbaf83a75ac8b0a1ed05afb Mon Sep 17 00:00:00 2001

From: Arjan van de Ven <[email protected]>
Date: Wed, 29 Oct 2008 09:13:23 -0700
Subject: [PATCH] corruption checker: print the DMI board name

Quoted 7 lines
Quoted 4 lines

when the memory corruptor checker hits (as it has done now based on kerneloops.org data), it would be extremely useful to know the DMI board name so we can add a blacklist for such a machine... without having to ask the user for lots of extra info.

I'm not sure if blacklisting whole brand for one case of bit corruption is fair -- perhaps the memory was overheating?

this is where kerneloops.org comes in; we can separate the "happens a lot" from "happens on blue moons"

Quoted 5 lines
Quoted 3 lines

But ACK -- we certainly want to see the data.