Re: Why does C3 CPU downgrade in kernel 2.4.20?

Denis Vlasenko (vda@port.imtp.ilyichevsk.odessa.ua)
Wed, 11 Dec 2002 17:09:34 -0200


On 11 December 2002 08:58, Dave Jones wrote:
> On Wed, Dec 11, 2002 at 11:19:23AM -0200, Denis Vlasenko wrote:
> > > Prolly I would have to do more benchmarking to find out about
> > > aligment advantages.
> >
> > I heard cmovs are microcoded in Centaurs.
> > s...l...o...w...
>
> Hardly surprising given that the chip isn't targetted at the
> performance market.

*We Support 686 Instruction Set* plastered everywhere? ;)
Who cares that a single cmov take some tens of cycles...
(btw, can someone measure that? I have no C3...)

On 7 July 2002 12:32, Willy TARREAU wrote:
> because GCC's output is really ugly. In fact, it is
> also ugly when it generates cmov. I disassembled my
> libc and found that it subobtimizes the code at the
> point that it's far worse with cmov than without !
> (more instructions, more memory accesses, more
> registers used).

Do not try to optimize "pedal to the metal" without
actually looking at the results.
With "-march=i686" on C3 one will get:

* Non-optimal GCC code generation
* Really Slow (tm) cmovs
* Buggy code (cmov with mem operands)
if one don't think above two are not enough ;)

On 10 December 2002 05:22, Daniel Egger wrote:
> Am Die, 2002-12-10 um 06.52 schrieb Dave Jones:
> > I believe someone (Jeff Garzik?) benchmarked gcc code generation,
> > and the C3 executed code scheduled for a 486 faster than it did for
> > -m586
> > I'm not sure about the alignment flags. I've been meaning to look
> > into that myself...
>
> Interesting. I have no clue about which C3 you're talking about here
> but a VIA Ezra has all 686 instructions including cmov and thus
> optimising for PPro works best for me.

Such things need testing. A kernel compile would suffice I guess.

--
vda
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/