lkml.org 
[lkml]   [2006]   [Feb]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: discriminate single bit error hardware failure from slab corruption.
On Thu, Feb 02, 2006 at 08:41:26PM -0800, Roland Dreier wrote:
> Dave> Hmm, I made a mistake in my maths somewhere, and some of
> Dave> those values are incorrect, so having the compiler do the
> Dave> work would have stopped me screwing up, but once the correct
> Dave> values are used, I doubt there's ever a really compelling
> Dave> reason to change the slab poison pattern.
>
> But Avi is still correct about false positives. For example, if
> something stomps on the slab poison and leaves it as
>
> e0 08 03 00
>
> then that will add up to eb and still trigger your message, even
> though it's far from a single bit error.

Ah, now I see the point Avi was making.

> Maybe making the loop be something like
>
> unsigned char total = 0, bad_count = 0;
> printk(KERN_ERR "%03x:", offset);
> for (i = 0; i < limit; i++) {
> if (data[offset+i] != POISON_FREE) {
> total += data[offset+i];
> ++bad_count;
> }
> printk(" %02x", (unsigned char)data[offset + i]);
> }
>
> and then you can put
>
> if (bad_count == 1)
>
> before the switch statement.
>
> I have to admit that Avi's code seems clearer to me too, though.

I'm easily persuaded either way really, as long as
we arrive at a desirable end-result ;)

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

\
 
 \ /
  Last update: 2006-02-03 06:06    [W:0.046 / U:0.152 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site