Messages in this thread |  | | Date | Wed, 11 Nov 2009 10:35:24 +0100 | | From | Willy Tarreau <> | | Subject | Re: i686 quirk for AMD Geode |
| |
On Wed, Nov 11, 2009 at 09:03:13AM +0100, Pavel Machek wrote: > > > (...) > > > > CMOV/NOPL are rarely used, thus have no reason to cause a massive > > > > performance drop, but are frequent enough (at least cmov) for almost > > > > > > *One* CMOV in the inner loop will make your performance go down 20x. > > > > yes, just like with emulated FPU or trapped unaligned accesses. It's > > just like flying fishes. They exist but they aren't the most common > > ones. If people encounter these cases on a specific program, then > > they just have to recompile it if it is a problem. At least they > > don't rebuild the whole distro. And once again, I've been using > > cmpxchg/bswap emulation for years on my i386 without feeling any > > need for a rebuild, and CMOV emulation for years now on my mini-itx > > And did you set cpu family to 6 for your 386?
No, not at all !
> That's the part I was objecting most. Yes, you can emulate, but > emulation is very bad for performance... so don't lie about cpu > family.
That's the point I agree with you, I don't like this setting either. I don't want to incite applications to use features that are emulated. However I think that allowing applications run when they don't/can't perform the check is useful.
> (Imagine application that has NOPL in inner loop, for performance > reasons. You want to use version _without_ the NOPL on processors that > lack it.)
Exactly. Same for MMX, 3DNOW, SSE* and such.
> So... I don't like instruction emulation, but can live with it. But > don't lie about supported instructions in /proc as original patch did.
100% agreed !
Regards, Willy
|  |