Re: [PATCH v3 0/2] Forcibly enable some MISC_ENABLE features on Intel

From: Andrew Lutomirski
Date: Tue Aug 09 2011 - 09:09:59 EST


On Tue, Aug 9, 2011 at 8:50 AM, Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> wrote:
> On Tue,  9 Aug 2011 08:41:04 -0400
> Andy Lutomirski <luto@xxxxxxx> wrote:
>
>> Intel allows BIOS or the OS to enable or disable some CPU fueatures via
>> IA32_MISC_ENABLE.  I have machines that don't enable fast strings or
>> monitor/mwait in BIOS, so do it on bootup instead.
>
> The question is - why.
>
>> The Intel SDM volume 3, appendix B.1 says that the OS should not touch
>> the monitor enable bit if SSE3 is not present, which presumably means
>> that the OS may touch that bit if SSE3 is present.  In any case, these
>> patches seem to work.
>
> That's a big "presumes"
>
> For example back in Pentium days the BIOS sometimes turned off a string
> fast path because it was subtly not reliable on certain parts and could
> corrupt.
>
> It's possible your BIOS vendor has a good reason for doing this. It's
> also possible its a bug, or a left over perhaps from some pre-release
> processor or something.

Intel also says:

However, Intel recomments that system software always enable
fast-string operation.

On my machine it's definitely a bug. It's a Sandy Bridge box (from
Intel) and with TXT disabled the BIOS enables fast strings on its own.

Fenghua, do you know if there are any machines that will pass the
version checks and will actually allow fast strings to be enabled but
that will have problems as a result?

If we want to be conservative, we could limit it to the most recent
family 6 devices and exclude family 0xf entirely.

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