Measuring Battery Runtime Improvement With the Intel X25-m

| Comments

There seem to be plenty of X25 performance benchmarks all over the Internet. Performance may have been one of the major reasons I upgraded my laptop to an X25, but it most certainly wasn't the only one.

Most of the power consumption benchmarks I have found don't seem to align very well with my usual on-battery workload. I am armed with a fresh battery and a new 80 GB X25-M, so I have to do some testing!

The Test Hardware

The laptop is a Dell Inspiron 6400 with a 1.66 ghz Core 2 Duo, ATI Radeon x1400 (using open source Radeon driver), Intel 3945 wireless card, and 4 GB RAM (only 3.16 GB usable). The laptop is running 64-bit Ubuntu 9.04.

My Testing Workload

I made sure most of my usual applications were up and running before I unplugged the power cord. That would include emacs, Firefox, Thunderbird, Pidgin, and Powertop. Bluetooth is turned off, Wi-Fi is connected to an 802.11a network, and the LCD brightness is set to 48%.

I spent run time of the battery doing some or all of the following:

  • Editing Perl code with emacs
  • Reading email
  • Reading my RSS feeds with Google Reader
  • Stumbling
  • Trying to beat Hard creeps in the Desktop Tower Defense Sandbox mode
  • Editing this blog entry
  • Cooking a frozen pizza
  • Brewing coffee in my Moka Express pot

The graphs!

For some reason my custom-built 2.6.31 kernels are very power hungry. They are built based on the options in Ubuntu’s 2.6.28 kernel config from my /boot directory, so they should not be configured too much differently than the Ubuntu 2.6.28 kernel. I don't have enough evidence to make me believe that 2.6.31 is any less energy efficient than 2.6.28.

It looks like I'm getting 10% more runtime with the SSD. I'm pretty happy with that. My 3-year-old laptop has lots of outdated and power hungry components. The lowest wattage number I have seen out of powertop during these tests was in the 18.5 watt range. The long-term averages powertop was giving me were in the 22-23 watt range.

I'm under the impression that modern laptops with LED backlights, better chipsets, and newer, faster processors can get into the 16 watt range with the LCD brightness turned all the way up (I was running mine at half). It wouldn't surprise me at all if a newer laptop would get a 15-20% improvement in runtime since their mechanical disk would be a larger percentage of total power.

Two Surprises Pointed Out By powertop

My laptop is already tweaked pretty heavily to save power, so I was surprised to see these two programs causing wake-ups.

PostgreSQL was causing about 5% of my CPU wake-ups. I really didn't want to have to shut down PostgreSQL so I was very happy to learn that there is a configuration option that can be tweaked in postgresql.conf. My postgresql.conf had the option commented out:

#bgwriter_delay = 200ms                        # 10-10000ms between rounds

I changed mine to 10000ms and I now I rarely see it show up in powertop.

The other surprise was gnome-power-manager. I thought I remembered it being fixed a few years ago. It used to wake up many times per second the entire time it was running. The current version that came with Ubuntu 9.04 seems to only be partially fixed. It seems that if it is running and the AC power state is changed it will revert to its old behavior of waking up 10-20 times per second.

Killing gnome-power-manager and restarting it will fix it until the next time the AC power state changes. I need to work on making that happen automatically.

Some Final Thoughts

The Intel X25-M is supposed to use 150mw when active and about half that when idle. Most mechanical drives don't even get down to 150mw when idle, and they require 1 to 2 watts or more when active.

A 10% increase in runtime on my 20-watt laptop fits those numbers pretty well.

I would imagine that power gap grows wider as the disk load increases. My usual on-battery workload is very light on the disks but it sure doesn’t give them much chance to spin down.