Re: [PATCH -mm] x86 port lockless MCE quirky bank0

From: Hugh Dickins
Date: Wed May 18 2005 - 07:40:11 EST


On Tue, 17 May 2005, Andrew Morton wrote:
>
> Yes. I'll drop the following from -mm:
>
> x86-port-lockless-mce-preparation.patch
> x86-port-lockless-mce-implementation.patch
> x86-port-lockless-mce-implementation-fix.patch
> x86-port-lockless-mce-implementation-fix-2.patch

The right decision for now, I think - thanks.

I presume they may return later on, so I'd better confess:
I lied when I said my patch fixed the P6 bank0 issue, I was confused
between rebuildings and rebootings. It should have fixed the issue,
but the patch which actually fixed it was one earlier, which had an
off-by-one ("> quirky_bank0") which I'd corrected before posting.

The ">= quirky_bank0" patch was not enough to fix the issue because...
mce_cpu_quirks (and mce_init and mce_cpu_features) are never called at
startup (on Intel or Centaur), because the logic in machine_check_init
(see below) to call mcheck_init is broken.

Which explains why I got the freeze at resume not at startup,
and casts doubt on how much any of it has got tested so far.

Hugh

void __devinit machine_check_init(struct cpuinfo_x86 *c)
{
if (mce_dont_init)
return;

switch (c->x86_vendor) {

case X86_VENDOR_INTEL:
if (c->x86==5)
intel_p5_mcheck_init(c);
break;

case X86_VENDOR_CENTAUR:
if (c->x86==5)
winchip_mcheck_init(c);
break;

default:
machine_check_vector = do_machine_check;
wmb();
mcheck_init(c);
break;
}
}
-
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/