Agreed: Should have read "socket A" semprons, since these are the most common currently although rapidly disappearing...
*1* type of Sempron is an Athlon XP processor, the Socket-462 versions. With the Socket-754, it is an Athlon 64, although most have their 64-bit functions disabled. Only the lastest, specifically branded Sempron 64 have the same, full compatibility as their more expensive brothers.
Bryan J. Smith wrote:
Tom admin@homemachine.net wrote:
Hi all, Is it ok to use the i686 kernel in an AMD Sempron or should I be using another?
To begin, know there are *3* different types of Semprons ...
- All Socket-462 Semprons are 32-bit only
They are Throughbred/Barton core (last rev Athlon XP)
- Most Socket-754 Semprons are 32-bit only
They are typically Newcastle core (mid-rev Athlon 64) with the 52-bit addressing (PAE52) and other protions disabled
- New Socket-754 Sempron 64s are PAE52, 64-bit reg, etc...
Largely as an answer to Intel releasing the P4-Celeron EM64T, AMD has stopped disabling the functionality of the cores. A few are even newer Winchester (Rev. D), although I haven't seen a Venice (Rev. E -- SSE support) Sempron 64
Now regarding the kernel, know these facts ...
A. Athlon optimizations -- especially in GCC 3.3 (3.4 seems to be much better) -- are not always stable (at least with -O3). So even if you load an Athlon optimized kernel, GCC is typically using -O2. On kernel 2.4, you'll see maybe a 5-15% performance improvement.
B. Linux Kernel 2.6 now adds [32-bit] Athlon optimizations as a _dynamic_, modular support in the _stock_ i686 kernel. There is little benefit to building a separate Athlon kernel, as I've tried, and seen _no_ noticable improvement.
C. If you load a x86-64 kernel, most of those _are_ already optimized for Athlon architecture because they are the most common. The 32-bit and 64-bit Athlons use the same core scheduler design (with only a tiny variance), so just going Linux/x86-64 now defaults to Athlon-optmizations.
Personal Note: I found that rebuilding kernel 2.6 without HIGHMEM support (960MiB memory max) increases performance well over 15%, and the greatest increase possible with any kernel change.
Ignacio Vazquez-Abrams ivazquez@ivazquez.net wrote:
The i686 kernel is fine. If you're looking for (small) speedups then you're better off rebuilding the glibc and openssl packages for athlon.
Agreed. But be careful in throwing the -O3 switch. Stick with --target=athlon, which the SPEC file should just use -O2 by default.
Peter Farrow peter@farrows.org wrote:
The Sempron is essentislly an Athlon XP processor, so I would use the Athlon kernel...
*1* type of Sempron is an Athlon XP processor, the Socket-462 versions. With the Socket-754, it is an Athlon 64, although most have their 64-bit functions disabled. Only the lastest, specifically branded Sempron 64 have the same, full compatibility as their more expensive brothers.
Peter Farrow peter@farrows.org wrote:
Note: In some rare cases I have seen Athlon systems hang at boot on i686 kernels, and vice versa, this seems to be system board chipset related.....so don't take out any kernels you intend to replace until you have seen the system boot reliably..
There were various errata with Athlons (not always AMD's fault), including:
- Intel changing the i686 ISA slightly with the P3/P4 (breaks
even i486 compatibility, sometimes even i586/Pentium).
- Intel 4M paging mode (AGP coherency issue in the Athlon's
on-board AGPgart, long, long story -- 4K paging is no lower performance on Athlon, so 4M should never be used)
- ViA ATA and other southbridge peripherals failing
- SiS I2C compatibility issues
- Many others
Nothing unheard of and not without some equivalents in the Intel world (such as ICH ATA issues), but still notable.
Karanbir Singh mail-lists@karan.org wrote:
There is no Athlon kernel in CentOS4.... as Ignacio has pointed out, should you need that small performance boost, then build yourself.
If you have less than 1GiB RAM, then rebuilding without HIGHMEM support would yield a much greater boost.
I had this discussion over on the Fedora-Devel list back after Fedora Core 2 came out and I complained about not having a separate Athlon kernel. In the 2.6 kernel, the i686 kernel dynamically loads support for Athlon optimizations, instead of having a separate kernel.
Sure enough, the boost I saw was because I removed HIGHMEM support. I rebuilt the exact same configs with i686 and Athlon and saw no difference whatsoever on kernel 2.6. Apparently Linus concept of making optimizations more dynamic for various i686 ISA compatible processors (C3/Geode, Athlon, even P4, etc...) really works.
Tom admin@homemachine.net wrote:
Ah yes, that's why I asked as I couldn't find an Athlon kernel for 4.1 :) Will there be one?
Red Hat will not be adding one in the FC2+/RHEL4+ series because of their view on the kernel 2.6 modular design. Given my own testing (despite my initial reluctance), they are indeed correct.
I'll try to find the post in the LKML (Linux Kernel Mailing List) that covers how the dynamic support works in the i686 kernel. I know from what I've read before, there was just so much overlap combined with so many i686 variants, there was a real wish to see a more "core" i686 base with loadable optimizations for Geode/C3, Athlon, P4, etc...