# Phenom 9500

## kdillen

Hello there,

Is there anybody intrested in my experience with the Phenom 9500 CPU ?  

I have 2 of them running right now with gentoo.

----------

## wantilles

I am interested.

Any information would be welcome.

Which motherboard are you using?

----------

## kdillen

I have 2 of them active.

Here is the hardware information:  

Motherboards:

- Asus M2N-E  With latest bios (lets hope they did not just released a new one)

- Asus M2N32 WS Professional  With lates bios, same remark as above

Memory:  Both systems have 8G of memory brand Geil 

Kernel used:  

- M2N-E : gentoo-sources-2.6.22-r9

- M2N32: gentoo-sources-2.6.23-r3

The first system who had an upgrade was the M2N32 WS Pro with this one I had a lot of problems who seems to be solved now.  The system was not really stable at first, crashes every time when you stress the IO system.  So running for example Bonnie++ made the system hang in 5 minutes.    So for me the only solutions I found at that time was going from x86 linux towards amd64 so that I could use the patch from AMD.  This upgrade was planned for this weekend.

So on Friday I came home and my second order has arrived, another phenom 9500 and 8 G of memory. 

So installed it on my second system and booted up.  Just to be sure I removed auto start of my vmware server.  And did some hugh Bonnie++ test and the system did not make the crash.

So where was the difference ?  

I checked the bios and found 1 setting that was different:   the CPU <-> MCP55 HT Speed (the name changed with the new bios and is different on both but easy to find)  On the M2N-E this was on 4x while on the M2N32 WS Pro it was at 5x.  So changed this on the M2N32 to 4x, ok it is a speed decrease but that is not important for me.  I want to have 4 CPU's because of the Virtual systems I run on them.  

After that I booted up the unstable system, did 5 Bonnie++ checks on the system and for now it is running already more than 24 hours stable, while before it was not able to run longer than half a day.

So what is important to know: 

-  the Bios you use must have the phenom recognision code, I tried to use the phenom with an older release bios due to a bug in it, and the screen just stayed black even better the system just powered off even before the bios came up the screen.

- Try to find out if your motherboard vender has implemented the work around for the CPU in the Bios

- And if your system is unstable, just try to play with your speed settings.

If you have any question please let me know, I played 1 week with an unstable system and trying to find a sollution.

----------

## christerk

Mostly on an impulse, I got myself a Phenom system and have spent a fair bit of time trying to get it to work myself...

First some hardware info:

- Asus M2N-SLI

- Phenom 9500 (B2, so it apparently has the TLB problem)

- 2x2G of DDR2-800 ram (Transcend branded)

- 2 Seagate Barracudas (new 160G drives)

In order to get the Phenom to work at all, I popped in a BE-2300 chip and flashed the bios up to the latest version available from Asus (401).

I got the latest amd64 net install ISO and fired it up. After my usual toying around with setting up a raid-1 (using mdadm), I proceeded with the install. Everything was flawless. Stage 3 installed fine. Portage dump as well. So I go ahead with the chroot and all is still well. Emerging and building the kernel, adding basics like syslog, cron, mdadm, grub.. Had some bothers with grub due to crazy hd naming  :Smile: . All is well so far..

But then came the reboot.

Kernel loads fine, detects my hardware perfectly. No problem here.. Root image fires up and suddenly *blam* weird errors crop up. ld.so complains like crazy.. I did a couple of reinstalls and had it die in the same place (but with other errors.. Had a glibc complaint for example)..

Chrooted, everything is _perfect_. But once I reboot the system goes crazy, and when I go back to the install CD, the file system is totalled. The stage3 bz2 file goes corrupt every time after I reboot. Core system files break, etc. It's a mess. For the record, the system is cleanly unmounted before boot.

I tried a couple of things so far:

- Ran memtest86 on the system to see if the memory is flawed.

- Play with AMD64 or generix x86_64 processor settings in the kernel

- Various other small config changes in the kernel

- Remove the md raid from the equation and just install on one drive

- Use ext2 as a filesystem

I'm not entirely sure what the issue is here. I have a couple of other things to try though:

- Install on the second drive to eliminate a broken harddrive

- Try ReiserFS (which I have running on two other Gentoo machines in md raid-1)

- Clear the CMOS and check out the memory timings you mentioned to see if that helps

- Try with the BE-2300 chip instead of the Phenom

The fact that you mentioned IO problems makes me think that I might have the same issues. You mentioned a patch from AMD? Is this the TLB issue, or something else? Anything else you can think of that I could try perhaps? I still have plenty of things to try before I get desperate, but ideas are always welcome.  :Smile: 

----------

## kdillen

christerk, I am now also running on an M2N-SLI, actually I needed to replace the M2N32-WS Pro due to an other issue I have with the system, memory related.  

I don'ty know why but the M2N32-WS Pro is very picky if it concers memory, and I am even thinking that the problem related to the problems with M2N32 as described before could also be related to the memory problem.

I don't have any problems with the M2N-SLI and it is running 100% stable for now (up 5 days, 21:01) but I am using a 32 bit gentoo on it.  

I don't think that the problems you have are related the x64 version of gentoo.  I can't tell you the bios settings I am using because an reboot is not an option, it is production vmware server.  But if you want I can provide you with my make.conf and my kernel config file, yes there are a few options not available for x64.  

Also I don't think it is related to the filesystem, I am using the following, LVM2, SoftMirror, loop-aes ontop of LVM, ext2, ext3, reiserfs and jfs on the same system.

The patch is indeed for the TLB problem, and you can try it as is, there is no warranty on it that it works.

Kurt

----------

## christerk

Thank you for your swift answer!

Great news that your system is running well, and especially since you're using the same motherboard as I am. At least that eliminates incompatibilities on that front  :Smile: 

I am going to try with the amd64 version for a bit longer since I would like to have it running in 64 bit mode. I may upgrade to 8G RAM once I'm confident that the machine works and would like the option of being able to utilize it fully in 64 bit mode.

As for my kernel conf, I'm pretty much using the defaults that come with gentoo-sources. The only thing I really changed was to add raid1 support, which wasn't enabled by default. I will add the rest as modules after the system is functional. Of course, once I throw ReiserFS onto the drives, I will need to add that into the kernel as well.

I'll play some more with it over the next few days and see if I can isolate the problem.

Do you remember if you did any significant modifications to the BIOS settings when installing your M2N-SLI?

----------

## kdillen

 *christerk wrote:*   

> Thank you for your swift answer!
> 
> Great news that your system is running well, and especially since you're using the same motherboard as I am. At least that eliminates incompatibilities on that front 
> 
> I am going to try with the amd64 version for a bit longer since I would like to have it running in 64 bit mode. I may upgrade to 8G RAM once I'm confident that the machine works and would like the option of being able to utilize it fully in 64 bit mode.
> ...

 

For the memory you don't need the 64 bit gentoo version:  

[root@scorpio ~]# free

             total       used       free     shared    buffers     cached

Mem:       8307004    6582780    1724224          0     360236    5616084

-/+ buffers/cache:     606460    7700544

Swap:      8008308        480    8007828

[root@scorpio ~]#

As you see I am running it with 8 GB of memory.

The only things I usually do, is disable the floppy drive support, the printer device and the sound because it is for a server usage. All the other things stayed default settings.  But what I do after a flash is always load the bios Defaults before I start disabling things.

Here you see my hardware tree so that you see what is enabled and disabled from the system hardware:  

[root@scorpio ~]# lshw -short

H/W path      Device       Class      Description

=================================================

                           system     System Product Name

/0                         bus        M2N-SLI DELUXE

/0/0                       memory     128KB BIOS

/0/3                       processor  AMD Phenom(tm) 9500 Quad-Core Processor

/0/3/a                     memory     128KB L1 cache

/0/3/b                     memory     512KB L2 cache

/0/40                      memory     8GB System Memory

/0/40/0                    memory     2GB DIMM 800 MHz (1.2 ns)

/0/40/1                    memory     2GB DIMM 800 MHz (1.2 ns)

/0/40/2                    memory     2GB DIMM 800 MHz (1.2 ns)

/0/40/3                    memory     2GB DIMM 800 MHz (1.2 ns)

/0/4                       memory     RAM memory

/0/1                       bridge     MCP55 LPC Bridge

/0/1.1                     bus        MCP55 SMBus

/0/2                       bus        MCP55 USB Controller

/0/2/1        usb2         bus        OHCI Host Controller

/0/2/1/4                   generic    USB Optical Mouse

/0/2/1/a                   generic    USB-Serial Controller

/0/2.1                     bus        MCP55 USB Controller

/0/2.1/1      usb1         bus        EHCI Host Controller

/0/7          scsi8        storage    MCP55 IDE

/0/7/0.0.0    /dev/cdrom1  disk       DUW1616/ARR

/0/7/0.0.0/0  /dev/cdrom1  disk

/0/5          scsi2        storage    MCP55 SATA Controller

/0/5/0        /dev/sda     disk       298GB Hitachi HDT72503

/0/5/0/1      /dev/sda1    volume     101MB Linux raid autodetect partition

/0/5/0/2      /dev/sda2    volume     7820MB Linux raid autodetect partition

/0/5/0/3      /dev/sda3    volume     16GB Linux raid autodetect partition

/0/5/0/4      /dev/sda4    volume     274GB Linux raid autodetect partition

/0/5/1        /dev/sdb     disk       298GB Hitachi HDT72503

/0/5/1/1      /dev/sdb1    volume     101MB Linux raid autodetect partition

/0/5/1/2      /dev/sdb2    volume     7820MB Linux raid autodetect partition

/0/5/1/3      /dev/sdb3    volume     16GB Linux raid autodetect partition

/0/5/1/4      /dev/sdb4    volume     274GB Linux raid autodetect partition

/0/5.1        scsi4        storage    MCP55 SATA Controller

/0/5.1/0      /dev/sdc     disk       232GB MAXTOR STM325082

/0/5.1/0/1    /dev/sdc1    volume     232GB Linux raid autodetect partition

/0/5.1/1      /dev/sdd     disk       232GB MAXTOR STM325082

/0/5.1/1/1    /dev/sdd1    volume     232GB Linux raid autodetect partition

/0/5.2                     storage    MCP55 SATA Controller

/0/6                       bridge     MCP55 PCI bridge

/0/6/6        eth2         network    82541PI Gigabit Ethernet Controller

/0/6/7        eth3         network    82541PI Gigabit Ethernet Controller

/0/6/b                     bus        TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link)

/0/8          eth0         bridge     MCP55 Ethernet

/0/9          eth1         bridge     MCP55 Ethernet

/0/e                       bridge     MCP55 PCI Express bridge

/0/e/0                     storage    JMicron 20360/20363 AHCI Controller

/0/e/0.1                   storage    JMicron 20360/20363 AHCI Controller

/0/f                       bridge     MCP55 PCI Express bridge

/0/f/0                     display    GeForce 8500 GT

/0/100                     bridge     Family 10h [Opteron, Athlon64, Sempron] HyperTransport Configuration

/0/101                     bridge     Family 10h [Opteron, Athlon64, Sempron] Address Map

/0/102                     bridge     Family 10h [Opteron, Athlon64, Sempron] DRAM Controller

/0/103                     bridge     Family 10h [Opteron, Athlon64, Sempron] Miscellaneous Control

/0/104                     bridge     Family 10h [Opteron, Athlon64, Sempron] Link Control

[root@scorpio ~]#

This is the kernel I am running with:  Linux 2.6.22-gentoo-r9

If you have more questions let me know.  

If you want to test the kernel patch from AMD it is only for the 2.6.23 kernel and I already tested a test patch on the gentoo-sources stable version of the 2.6.23 kernel and there were no problems including it.  So I can give you the patch if needed.

Kurt

----------

## christerk

I managed to get it to work after some more testing.

What I did was clear the CMOS and install using ReiserFS over an md raid1 setup.

I also noticed that the default behaviour was to get gentoo-sources 2.6.19 rather than 2.6.23, so I made sure to run emerge --sync before fetching the kernel.

However.. After the install was complete, but before I rebooted, I unmounted the drives, and ran a fsck which immediately showed some bad files.. Fortunately, they were in the portage cache and not essential so I just repaired and rebooted. Since then, I haven't had any problems at all with the system so I am thinking that the minimal install CD image is a bit shaky on my system for some reason. The custom kernel I ran seems rock solid and I have been copying in on the order of 1.5 million files onto the system without any sign of problem.

I do, however, want to run some more tests and am going to install bonnie++ to see what happens with some more intensive file IO.

----------

## christerk

Just wanted to report that I have finished the tests now, and the server is now happily serving web pages for my medium sized community. The improved performance over the old server is quite nice to see. No more 50+% (4 minute average) CPU usage peaks  :Smile: 

I'll happily keep an eye here and assist if someone else has issues with this platform.

----------

## lu_zero

Would you suggest it given the work it required getting it in shape? Is the performance adequate for the money spent (how much btw?) ?

lu - mildly interested in the technology but not sure if it is worth buying one right now or wait for the newer batch

----------

## petteyg359

Mind posting your cflags? I can't find any examples on Google, and nobody bothers to respond when I ask on IRC.

----------

## obrut<-

the same as a k8:

CFLAGS="-O2 -march=k8 -pipe -msse3"

MAKEOPTS="-j5"

----------

## JohnLM

so setting k8 architecture (both in kernel and cflags) will be compatible with Phenom CPU? (I have Phenom 9950)

I'm currently running "generic x86_64" just in case, with features enabled with flags like -msse2 -m3dnow and such...

----------

## NeddySeagoon

JohnLM,

The Phenom is a K8 CPU, so Processor family (Opteron/Athlon64/Hammer/K8)  --->   is good in the kernel.

What you should set in CFLAGS depends on your gcc version. gcc 4.2 and later support -march="native"

This lets gcc work out for itself whats best.

Do not use -march="native" if you use distcc or icecream and different nodes may have different ideas of what native means.

----------

## doctork

The Phenoms are -march=amdfam10 or -march=barcelona (if you're using gcc 4.3.*).  This is a superset of the older k8 architechture.  It probably doesn't make any difference to the kernel, but there MIGHT be some applications that use the newer instructions.

I'm using -march=native on my Phenom 9550.

--

doc

----------

## NeddySeagoon

doctork,

Kernel builds do not use the content of /etc/make.conf, so as you say, it makes no difference to the kernel.

----------

## JohnLM

Thanks for the answers!

I tried -march=amdfam10 when I wrote initial make.conf... sent me to hell  :Smile: 

Then used no -march flag.

So for gcc 4.3.x I should use -march=barcelona right?

And will it make any (and what) difference if I use -march=native instead?

sorry if this is a slight off-topic, but it ain't that far off  :Smile: 

btw I took a few hours to rebuild kernel and whole "world" tree for k8... I think I rushed it tiny bit.  :Very Happy: 

----------

## doctork

 *JohnLM wrote:*   

> Thanks for the answers!
> 
> I tried -march=amdfam10 when I wrote initial make.conf... sent me to hell 
> 
> Then used no -march flag.
> ...

 

Gee, I guess I should have tried amdfam10 or barcelona before responding -- I went directly to "native."  I was paraphrasing the documentation found at http://gcc.gnu.org/onlinedocs/gcc/i386-and-x86_002d64-Options.html. 

I don't know that you'd see any great improvement by "going native."

--

doc

----------

