Recent Fedora Core kernels (plus my SPEC file for 2.6.8-1.541 with Athlon support)

Dave Jones davej at redhat.com
Mon Nov 29 03:00:04 UTC 2004


On Sun, Nov 28, 2004 at 05:42:41PM -0500, William M. Quarles wrote:

 > A. I'm tired of Red Hat holding back on optimizations.  The architecture 
 > tree/network that RPM consults is kind of screwed up.  Not to mention 
 > that it is ridiculous to compile packages for i386 architecture that 
 > will never run on an i386, especially when the developers have dropped 
 > in MMX instrcutions in the assembly anyways, so the i386 designation is 
 > then meaningless.

Those applications should be doing the relevant cpuid checks at runtime
before using them. Fedora supports processors that don't have MMX.
If you have a list of applications that don't do this, file bugs
in bugzilla.

 > It would be nice if RPM could call compilations for 
 > say pentium-mmx or pentium2 rather than forcing developers to insert 
 > this code manually via assembly

The number of packages using assembler is tiny compared to the
number of applications shipped. And no gcc options are going to
change that for the most part. gcc is getting better all the time,
but hand-written assembler is hard to beat for speed-critical
operations in packages that really need the speed.

 > B. Red Hat developers were saying before that we need more optimization 
 > for the Pentium 4 because it is obviously not running as well on i686 
 > optimizations as it could.  However, I have yet to see a Pentium 4 
 > optimized Fedora Core kernel come out.  Perhaps they're busy debating 
 > about whether to call it pentium4 or i786.

The idea had crossed my mind to ship the 686 kernel as p4 optimised
the last time this discussion came around for benchmarking purposes.
Not around round tuits.

 > C. If it doesn't hurt and it would probably help, I don't see what's the 
 > matter with making an Athlon-optimized kernel.

A number of reasons.
- It's one more column in the matrix of supported kernels to worry about.
  This may seem insignificant, but it takes quite a while to push
  a kernel package through the buildsystem given how many variants
  it spits out. On a busy day (like for eg, just before release), it
  can take the better part of a day to get packages built.
- The gain just isn't worth it over the 2.4 kernels.
  Now that the runtime optimisations get performed in 2.6, theres only
  one thing thats missing that would be in an Athlon optimised kernel,
  and thats the optimised copy_page/clear_page, which are really only
  a win when a lot of data is being copied back/forth between the kernel,
  and even then, only under certain usage patterns.  I'll be surprised
  if this shows up on any real-world application.
- anyone this concerned about that last 1-2% of performance will want
  to recompiling their own kernel anyway to disable such things as
  highmem support when not needed, or selinux, or 4g4g, or..

 > And considering the 
 > complaints that I have seen, it would make even more sense to make a 
 > Pentium 4-optimized kernel available even if the Athlon one was not 
 > available.

As above. A seperate kernel is probably overkill.
Compiling the 686 kernel with gcc tunings for p4 (but no instructions)
might make sense however.

		Dave




More information about the devel mailing list