Re: single bit flip detector.

From: Dave Jones
Date: Tue Aug 01 2006 - 18:28:49 EST


On Tue, Aug 01, 2006 at 11:14:27PM +0100, Alan Cox wrote:
> Ar Maw, 2006-08-01 am 14:44 -0400, ysgrifennodd Dave Jones:
> > + case POISON_FREE ^ 0x01:
> > + case POISON_FREE ^ 0x02:
> > + case POISON_FREE ^ 0x04:
> > + case POISON_FREE ^ 0x08:
> > + case POISON_FREE ^ 0x10:
> > + case POISON_FREE ^ 0x20:
> > + case POISON_FREE ^ 0x40:
> > + case POISON_FREE ^ 0x80:
> > + printk (KERN_ERR "Single bit error detected. Possibly bad RAM.\n");
> > +#ifdef CONFIG_X86
> > + printk (KERN_ERR "Run memtest86 or other memory test tool.\n");
> > +#endif
> > + return;
>
> Gack .. NAK
>
> #1: Do we want memtest86 or memtest86+ ?

I doubt it really matters.

> #2: The check is horrible and there is an elegant implementation for
> single bit.
>
> errors = value ^ expected;
> if (errors && !(errors & (errors - 1)))
> printk(KERN_ERR "Single bit error detected....");

Good call, I'll hack that up.

Dave

--
http://www.codemonkey.org.uk
-
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/