2003-07-20 23:14:08

by William M. Quarles

[permalink] [raw]
Subject: [Fwd: Re: Kernel 2.4 CPU Arch issues]



-------- Original Message --------
Subject: Re: Kernel 2.4 CPU Arch issues
Date: Sun, 20 Jul 2003 19:23:24 -0400
From: William M. Quarles <[email protected]>
Organization: James Madison University
To: Mark Hahn <[email protected]>
References:
<Pine.LNX.4.44.0307201920260.4900-100000@coffee.psychology.mcmaster.ca>

Mark Hahn wrote:
>>Something like this ?
>
>
> is there any real point? what post-p6 features would you expect
> to make a difference?
>

Well, you separated the Pentium and Pentium-MMX. It's the exact same
difference between Pentium Pro and Pentium-II: MMX technology. That's
the point.

--
William M. Quarles

[email protected]
[email protected]
[email protected]


--
William M. Quarles

[email protected]
[email protected]
[email protected]


2003-07-20 23:47:32

by Alan

[permalink] [raw]
Subject: Re: [Fwd: Re: Kernel 2.4 CPU Arch issues]

On Llu, 2003-07-21 at 00:29, William M. Quarles wrote:
> Well, you separated the Pentium and Pentium-MMX. It's the exact same
> difference between Pentium Pro and Pentium-II: MMX technology. That's
> the point.

This makes no difference to the kernel. Splitting PPro would only make
sense for one reason. The Pentium Pro needs store barriers on
spin_unlock and friends, the PII and later do not. However if this was
done you'd also want to check for PPro boots with a PII kernel and panic
which isn't currently done

2003-07-21 00:10:15

by William M. Quarles

[permalink] [raw]
Subject: Re: [Fwd: Re: Kernel 2.4 CPU Arch issues]

Alan Cox wrote:
> On Llu, 2003-07-21 at 00:29, William M. Quarles wrote:
>
>>Well, you separated the Pentium and Pentium-MMX. It's the exact same
>>difference between Pentium Pro and Pentium-II: MMX technology. That's
>>the point.
>
>
> This makes no difference to the kernel. Splitting PPro would only make
> sense for one reason. The Pentium Pro needs store barriers on
> spin_unlock and friends, the PII and later do not. However if this was
> done you'd also want to check for PPro boots with a PII kernel and panic
> which isn't currently done
>

Well, wouldn't changing the gcc -march option and/or adding -mcpu
options for the various processors in the Makefile make a difference, as
the patchfile suggests?

--
William M. Quarles

[email protected]
[email protected]
[email protected]

2003-07-21 06:26:41

by Alan

[permalink] [raw]
Subject: Re: [Fwd: Re: Kernel 2.4 CPU Arch issues]

On Llu, 2003-07-21 at 01:25, William M. Quarles wrote:
> Well, wouldn't changing the gcc -march option and/or adding -mcpu
> options for the various processors in the Makefile make a difference, as
> the patchfile suggests?

Currently - no. gcc knows a lot more processor names that require individual
unique optimisation

2003-07-21 19:08:52

by jw schultz

[permalink] [raw]
Subject: Re: [Fwd: Re: Kernel 2.4 CPU Arch issues]

On Mon, Jul 21, 2003 at 07:39:16AM +0100, Alan Cox wrote:
> On Llu, 2003-07-21 at 01:25, William M. Quarles wrote:
> > Well, wouldn't changing the gcc -march option and/or adding -mcpu
> > options for the various processors in the Makefile make a difference, as
> > the patchfile suggests?
>
> Currently - no. gcc knows a lot more processor names that require individual
> unique optimisation

no && s/that/than/


--
________________________________________________________________
J.W. Schultz Pegasystems Technologies
email address: [email protected]

Remember Cernan and Schmitt

2003-07-23 01:02:55

by J.A. Magallon

[permalink] [raw]
Subject: Re: [Fwd: Re: Kernel 2.4 CPU Arch issues]


On 07.21, Alan Cox wrote:
> On Llu, 2003-07-21 at 00:29, William M. Quarles wrote:
> > Well, you separated the Pentium and Pentium-MMX. It's the exact same
> > difference between Pentium Pro and Pentium-II: MMX technology. That's
> > the point.
>
> This makes no difference to the kernel. Splitting PPro would only make
> sense for one reason. The Pentium Pro needs store barriers on
> spin_unlock and friends, the PII and later do not. However if this was
> done you'd also want to check for PPro boots with a PII kernel and panic
> which isn't currently done
>

(sorry for the late answer, I have been out for a course...)

Is this done now ? Where is detected if you try to boot a P3-built kernel on a
PPro ?

AFAIK, P2 is more similar to a P3 than to a PPro in terms of architecture.
Some people say that P3=P2+SSE-50%cache.
As features like fxsr or cmov are detected independent of gcc flags
(/proc/cpuinfo...) I think this can affect on how gcc schedules instructions.
If I grep -r IUMIII * /usr/src/linux, I just get this:

/* Prefetch instructions for Pentium III and AMD Athlon */
#if defined(CONFIG_MPENTIUMIII) || defined (CONFIG_MPENTIUM4)

#define ARCH_HAS_PREFETCH
extern inline void prefetch(const void *x)
{
__asm__ __volatile__ ("prefetchnta (%0)" : : "r"(x));
}

And in terms of CONFIG_ flags, the differences from 686 to PIII are:

- bool 'PGE extensions (not for Cyrix/Transmeta)' CONFIG_X86_PGE
+ define_bool CONFIG_X86_PGE y
- define_bool CONFIG_X86_PPRO_FENCE y

In short:
- P3 is separate from 686 just for the prefetch and for the PPRO_FENCE
- P2 can kill also the PPRO_FENCE

so you I can suppose the main reason to separate P3 is that you trust gcc
to generate better code if it knows its a P3. So same applies to P2, as
gcc explicitely says that i686 is a pentiumpro, but says nothing about
being also a P2:

info gcc:

`-mcpu=CPU-TYPE'
...
While picking a specific CPU-TYPE will schedule things
appropriately for that particular chip, the compiler will not
generate any code that does not run on the i386 without the
`-march=CPU-TYPE' option being used. `i586' is equivalent to
`pentium' and `i686' is equivalent to `pentiumpro'. `k6' and
`athlon' are the AMD chips as opposed to the Intel ones.

;)

--
J.A. Magallon <[email protected]> \ Software is like sex:
werewolf.able.es \ It's better when it's free
Mandrake Linux release 9.2 (Cooker) for i586
Linux 2.4.22-pre7-jam1m (gcc 3.3.1 (Mandrake Linux 9.2 3.3.1-0.6mdk))