Re: [PATCH 02/16] x86, mce: call-in should be after updating global_nwo

From: Hidetoshi Seto
Date: Mon Jun 15 2009 - 04:40:48 EST


huang ying wrote:
> 2009/6/15 Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx>:
>> At the beginning of Monarch synchronization, processors wait until
>> all of them have entered the exception handler and then check the
>> global_nwo to determine if any of them saw a fatal event.
>>
>> However since current code does call-in before updating global_nwo,
>> it might happen that the global_nwo does not reflect some of local
>> nwo at the time. This might break printing corrected errors not
>> handled yet on panic.
>
> This is almost same as the patch that I just posted. I think this is
> because it trigger a failure in mce-test suite, and we both find the
> failure.

That's right.

> But your patch lacks memory barrier between mce_callin and global_nwo
> updating/reading. Atomic operations does not imply memory barrier.

You are right. I agree that your patch is better fix.

It seems my patch includes cleanup for mce_start(), so I'll extract it
and make another patch soon.


Thanks,
H.Seto

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