RE: possible CPU bug and request for Intel contacts

From: Seth, Rohit
Date: Tue Jan 25 2005 - 02:25:52 EST


Kirill Korotaev <mailto:dev@xxxxx> wrote on Monday, January 24, 2005
1:51 AM:

> Hello Rohit,
>
>> Thanks for sending the detailed information. Based on our experiments
>> and analysis, we believe at this point that this is a known E80 issue
>> mentioned in the PIII spec update at this location
>> (http://www.intel.com/design/pentiumiii/specupdt/24445351.pdf)
>
>> Could you please try one of the suggested work arounds for this
>> issue.
> Yes, double cr3 reload and cpuid helps us. But rdtsc doesn't.
>

I will have to get back to you about rdtsc.


> BTW, can you explain why making pages non-global is the cure? Is it
> safe workaround for this bug?

There is a boundary condition that can have non-global pages containing
the CR3 load to also hit this issue on affected PIII. Though for this
to happen, mov to cr3 has to be the very last instruction on a page.
And the page following that page (containing CR3 load) has to have
different mapping between user and kernel spaces.

> Double cr3 reload looks a bit unsafe to me, since interrupts or NMI
> can
> occur between the reloads and probably reuse stale iTLB mappings...

Interruptions will ensure that stale mapping don't exist in ITLB fill
buffer. So, you are okay with double CR3 laods.

Thanks, rohit

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