Linux and the Desktop Pentium M: Uncommon Performance
by Kristopher Kubicki on December 24, 2004 12:00 PM EST- Posted in
- Linux
A bit about Speed Step, Thermals, Power and Noise
Although this is not the first time that we have looked at Dothan, the exciting bit about the technology is that it requires so little power and thus, so little cooling. The only active cooling required in our Pentium M setup was a 40mm fan on the processor heatsink; the Northbridge is cooled passively.Another reason why we selected the DFI motherboard for this roundup was the fact that it uses such elegant cooling. The HSF combo is proprietary to this motherboard, but it will fit easily in a 1U or SFF case with plenty of clearance and low noise. When we had our test rig setup in an aluminum Hornet Pro SFF chassis from Monarch Computers, we only needed a single, low RPM 80mm fan and the 40mm CPU HSF to cool the rig. At full operation, the Dothan desktop system ran at less than 30 dBA, too low for our Extech devices to even get a measurement at 12".
After a full hour of operation, our BIOS reported the Dothan at a "cool" 98 degrees Fahrenheit. The 40mm fan above is clearly ample enough for our purposes, but we did a little overclocking up to 2.4GHz and the same HSF combo held up fine. More importantly, the combo came free with the motherboard. What interests us even more is that this configuration is not even running Enhanced Speed Step! The 2.6 Linux kernel provides us with an excellent method of adjusting the CPU clock, dubbed "CPU Frequency Scaling". Unfortunately, this option is not enabled by default in most kernel configurations and requires a recompile.
In the .config file of a 2.6.x kernel build directory, we have to change the following lines:
CONFIG_X86_ACPI_CPUFREQ=y CONFIG_CPU_FREQ_GOV_USERSPACE=yBoth lines should now read "y" for yes. After restarting the computer, setting the processor clock speed is as easy as this:
echo 600000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeedThe sys daemons now will read the scaling file and dynamically clock the processor to 600,000 KHz. Although this amount of control is great for us right now, running a real time daemon to monitor CPU usage would probably be a little more beneficial to us. "cpufreqd" and "speedfreqd" both take control of the CPU scaling and work the same, if not arguably better than the Windows driver that does the same thing. For the tests in this analysis, both daemons were disabled; although, if you plan on getting the most out of your laptop or Dothan desktop, you should run a daemon for the best thermals and power usage.
47 Comments
View All Comments
Lynx516 - Monday, December 27, 2004 - link
What yozza says is true gcc 3.4.1 is old especially a pre release. As yozza said it has some bugs in it with respect to the pentiu_m march flag.I have been running gcc 3.4.3 for atleast 2 months and i definatly was not one of the first to use itKristopherKubicki - Monday, December 27, 2004 - link
Yozza: I made some corrections. Saying GCC 3.4.1 is "pretty old" seems pretty hard for me to swallow, but the rest of what you say seems correct. I would be interested in seeing your P-M compile time benchmarks.Kristopher
Yozza - Sunday, December 26, 2004 - link
The march=pentium-m flag was pretty broken on earlier gcc 3.4 releases, and it seems that you're using quite an early "3.4.1 (prerelease)" version, which could explain a few things, especially your TSCP benchmarks, where the Pentium-M is the only one to have its performance _decrease_ with optimised (march=pentium-m) compiler flags. This clearly indicates some issues with pentium-m optimisations in your gcc revision (3.4.1 is pretty old these days).The extremely slow kernel compile time is especially surprising though. I did some test just now on my 1.7GHz Banias P-M, and the kernel compile times do NOT appear to correspond with your results. So I guess something seems amiss with your system configuration.
There was certainly some pretty impressive performance in the integer-dependent tests such as the database one -- we already know that the P-M's fp performance isn't that great, which explains some of the more fp-dependent benchmark results. I for one was pretty impressed by its performance in the majority of the benchmarks and by its scaling possibilities, both wrt FSB/memory and core freqs. If only Intel would upgrade the platform to 800MHz FSB with dual channel DDR400; such a configuration would be appear to hold a lot of promise.
The argument that "Dothan is adherently a linear processor" doesn't hold water either (it should be "inherently" too), since the kernel compile uses one thread by default. Regardless, it should have been possible to test different CPU schedulers to determine how well Dothan deals with multi-tasking loads, particularly wrt compile times by comparing different "MAKEOPTS=-jX" settings. Behaviour under such loads is as dependent on the CPU scheduler as it is on the CPU itself anyway.
Hence, clearly, the comment "When we stack multiple jobs on the processing queue, Dothan spends a huge majority of its time swapping around" is flawed and incorrect. The implication that the CPU 'swaps around' somewhat like memory paging to disk is rather inaccurate to say the least.
larson0699 - Sunday, December 26, 2004 - link
"...The only additional offering that the 855GME feature provides is a 64-bit PCI-X (not to be confused with PCI-Express) bus..."PCI-X is a "feature" of the 6300ESB ("Hance Rapids") southbridge, NOT the 855GME northbridge.
Other makers used the standard ICH5 southbridge, hence no PCI-X slots.
Such a system would be awesome for a mini RAID server. An adapter from 3Ware would be the perfect utilization of the PCI-X slot provided. Ahh...
vaystrem - Sunday, December 26, 2004 - link
Why not Gentoo?You could do two boxes - compile the entire OS optomized for the Pentium M with latest GCC revision and do the exact same for the Athlon 64 Box.
That would be a lot more interesting comparison and useful than doing these benchmarks on top of Suse whose default optomizations are certainly hurting the PentiumM.
bhtooefr - Saturday, December 25, 2004 - link
BTW, I mean that maybe Intel shut them down...bhtooefr - Saturday, December 25, 2004 - link
Hmm... maybe you're right... After all, it seemed that PowerLeap was dodging my questions about their P-M adaptor (and then tried to pimp the PL-AXP (basically a golden fingers card for Socket A) - if I wanted to unlock an AXP, I'd get a pencil ;-))...Here's the chat: http://cpu-museum.de/forum/download.php?id=334
sprockkets - Saturday, December 25, 2004 - link
Oh well, I just looked at SuSE 9.1 again and 9.2 has the ability with kpowersave to select easily the profiles it will use to run, and will say what processor speed it currently is throttling to.ElFenix - Saturday, December 25, 2004 - link
i'd like to point out that 'heat sink' is actually two words. thanks.KristopherKubicki - Saturday, December 25, 2004 - link
bhtooefr: I am pretty sure intel wont let them do that.Kristopher