Re: Kernel cpu selection + other platforms?

Teunis Peters (teunis@usa.net)
Tue, 22 Jul 1997 09:55:03 -0600 (MDT)


On Tue, 22 Jul 1997, Mike Jagdis wrote:

> On Mon, 21 Jul 1997, Teunis Peters wrote:
>
> > You're right, it IS easy..... providing you don't want any changes...
> > [like 4(?) different optimizations for 6x86 and you don't want to run all
> > of them]
>
> Huh? Boot parameters maybe? A run time tool like set6x86? Half a dozen
> lines of assembler against a full kernel recompile each time you want
> a change?!?

No - these affect things like memory page size in the linux memory manager
+ how memory pages are shared and organized. AFAIK this requires a
recompile.

Here's a list (from the patch I use):(translations from docs and guesswork)
[all cyrix] : No I/O recovery delays
(rendered useless by branch prediction)
[prolly would work on non-cyrix too]
[6x86]: Avoid unnecessary locked cycles [useless with SMP]
- locked areas are forced into CPU cache
Allocate L1 cache lines on write misses
! may cause excessive memory use/slowdown
: should speed system up if works
Branch Target Buffer features
- configures branch target prediction logic
to better handle Linux
! not guaranteed to work let alone help
VSPM (Variable Size Paging Mechanism)
- large regions of memory can be mapped in one go.
! Known to be buggy with many 6x86's

There's prolly others in other patches too. These are not features that
can be enabled outside of a kernel compile for the most part (especially
VSPM and 'avoid unnecessary locked cycles')
[I don't use most of these - just the I/O and locking optimizations]

> > Thanks to CPU-detection being a LITTLE behind (what, no K6 or 6x86? no
> > MMX? HUH?????) [nevermind - I KNOW this is fixed now - just making a
> > point].... we sorta may end up needing this...
>
> The current code is still lacking in CPU identification.

Wish I could help here.

> > FWIW - Can MMX be detected? Will it's PRESENCE be in /proc/cpuinfo? I'm
> > planning on supporting it but I want to disable it if it isn't present....
>
> Check the docs for any modern MMX cpu. It's in the CPUID flags.

But is CPUID available outside kernel?

[I don't have the time to try and find docs - 'sides I can only really
handle html at this point and I know they're not in that form].
[I also don't have space - I'm too buzy trying to get some video
solution together + database development + Java].

Have a pleasant week :)
- Teunis