Re: [PATCH] 2.6 workaround for Athlon/Opteron prefetch errata

Jeff Garzik
2003-09-11T14:34:56Z

Andi Kleen wrote:
> It was not created for that (I know that because I created it ;-)

hehe

> X86_GENERIC is merely an optimization hint (currently it only changes the cache
> line size hint) It does not change anything related to correctness. Everything
> that handles correctness is checked unconditionally.

When, building non-Pentium4-related code when CONFIG_MPENTIUM4 &&
!CONFIG_X86_GENERIC, it's OK that the code is incorrect for (picking
example) AMD processors.

It would be a user bug to boot that on an AMD box, just like it would be
user bug to boot a CONFIG_M586 kernel on an ancient 386.

> is_prefetch is a correctness thing.

When we know at compile time it's not needed, it should not be enabled.

>>If I disabled CONFIG_X86_GENERIC and select CONFIG_MPENTIUM4, I darned
>>well better not get any Athlon code. The cpu setup code in particular I
>>want to conditionalize, and there are other bits that need work... but
>>for the most part it works as intended.
>
>
> Now that's becomming silly. It's alttogether only a few KB and all
> __init code anyways.

If you're doing crazy LinuxBIOS stuff where flash size is limited, it
makes a lot of sense. (and I do such crazy things) The core 2.6 kernel
has really bloated with optional features, IMO.

Jeff