[PATCH resend] x86: memtest: WARN if bad RAM found

From: Jonathan Nieder
Date: Fri Apr 13 2012 - 15:39:09 EST


From: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
Date: Mon, 5 Dec 2011 04:00:58 +0000

Since this is not a particularly thorough test, if we find any bad
bits of RAM then there is a fair chance that there are other bad bits
we fail to detect.

Warn so the TAINT_WARNING flag shows up in panic traces and other bug
reports from users that enabled memtest and found bad RAM during
bootup, to help people debugging to see that problems are potentially
due to unreliable RAM. The warning text gives advice that can be used
to make the warning go away using a more thorough test:

Bad RAM detected. Use memtest86+ to perform a thorough test
and the memmap= parameter to reserve the bad areas.

In this way, this patch should make the lives of people helping to
analyze bug reports from builds with CONFIG_MEMTEST enabled easier.

[jn: more explanation of impact]
Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
Signed-off-by: Jonathan Nieder <jrnieder@xxxxxxxxx>
---
Hi again,

The patch below last visited this list on 2 April, about a week and a
half ago. No reply.

The patch has been in Debian since last December. I like it. The
patch is targetted at v3.5, so I would like to see it in linux-next so
it can get more exposure. Comments?

Thanks,
Jonathan

arch/x86/mm/memtest.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/x86/mm/memtest.c b/arch/x86/mm/memtest.c
index c80b9fb95734..38caeb44a218 100644
--- a/arch/x86/mm/memtest.c
+++ b/arch/x86/mm/memtest.c
@@ -30,6 +30,8 @@ static u64 patterns[] __initdata = {

static void __init reserve_bad_mem(u64 pattern, u64 start_bad, u64 end_bad)
{
+ WARN_ONCE(1, "Bad RAM detected. Use memtest86+ to perform a thorough test\n"
+ "and the memmap= parameter to reserve the bad areas.");
printk(KERN_INFO " %016llx bad mem addr %010llx - %010llx reserved\n",
(unsigned long long) pattern,
(unsigned long long) start_bad,
--
1.7.10

--
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/