Intel Core Duo USB Issue: A Mischaracterized Bug
by Anand Lal Shimpi on February 13, 2006 1:40 PM EST- Posted in
- Laptops
Problem #1 - Perfmon is Inaccurate
The first hurdle that we had to overcome was actually proving the cause of the bug. Microsoft states that the continuously running asynchronous scheduler prevents the CPU from entering lower sleep states (e.g. C3, C4, Deep C4 and Deeper C4) when a USB 2.0 device is installed. In theory, monitoring the % C3 Time counter in Perfmon should show that when the notebook is idle, the CPU spends all of its time in C3, and plugging in any USB 2.0 device should prevent that from happening. Unfortunately, that isn't the case:
What we're looking at above is a graph of % C3 time, which actually should include C3 and lower power states (e.g. C4, Deep C4 and Deeper C4). The first vertical line (orange) indicates when the USB 2.0 device, in this case a Kingston Data Traveler Elite, was inserted. Note that before and after the USB device was installed, the CPU continued to spend most of its time in C3 or lower, indicating that there is no problem. However, a quick run of Mobile Mark 2005's Reader 2002SE test proved otherwise. The sheer presence of the USB 2.0 device reduced battery life from 286 minutes down to 235 minutes, a reduction of 17.8%. A similar impact was seen when using an externally powered device, in this case a 3.5" hard drive enclosure; battery life dropped from 286 minutes down to 245 minutes, a reduction of 14.3%. Yet despite Mobile Mark's evidence, Perfmon didn't agree. The processor was allegedly in its lower power states regardless of whether or not a USB 2.0 device was present.
As you can probably guess, Perfmon is inaccurate in this case. While Perfmon does a fine job of monitoring C3 states for older processors, it fails to handle properly the CPUs we're most interested in: the Pentium M and Core Duo. Through our talented investigative journalism (read: by asking a question), we found that there is a tool to report accurately the amount of time spent in C3 on modern day Intel processors. Unfortunately, that tool is only available to OEMs, under NDA, for fine tuning their systems. Luckily, not everyone abides by the NDAs that their company signs, so we managed to get our hands on the tool.
The tool is actually just an extension for Perfmon made by Intel to measure accurately the amount of time that their CPUs spend in C3 or lower power states. Our sources tell us that independently measuring C4 and Deep C4 states is impossible without resorting to actually probing signals on the motherboard, but thankfully, that won't be necessary for what we need to do here today. What we need to confirm is whether or not plugging in a USB 2.0 device prevents the Pentium M and Core Duo from entering C3 or lower power states.
With the plugin installed, we now have another performance counter in Perfmon; this time, an accurate reflection of time spent in C3 or lower states. First up, we have Core Duo:
Next, we tried the same test with a USB 1.0 device, in this case a Microsoft Intellimouse Optical Blue mouse:
Now, the real question is whether or not the same problems exist on a previous generation Centrino system. In this case, we have the Lenovo T43 based on the Pentium M/Sonoma platform released approximately a year ago.
The first test was the same; plug in a USB 2.0 drive:
And just to be sure, we also did the USB 1.0/Mouse test:
The first hurdle that we had to overcome was actually proving the cause of the bug. Microsoft states that the continuously running asynchronous scheduler prevents the CPU from entering lower sleep states (e.g. C3, C4, Deep C4 and Deeper C4) when a USB 2.0 device is installed. In theory, monitoring the % C3 Time counter in Perfmon should show that when the notebook is idle, the CPU spends all of its time in C3, and plugging in any USB 2.0 device should prevent that from happening. Unfortunately, that isn't the case:
What we're looking at above is a graph of % C3 time, which actually should include C3 and lower power states (e.g. C4, Deep C4 and Deeper C4). The first vertical line (orange) indicates when the USB 2.0 device, in this case a Kingston Data Traveler Elite, was inserted. Note that before and after the USB device was installed, the CPU continued to spend most of its time in C3 or lower, indicating that there is no problem. However, a quick run of Mobile Mark 2005's Reader 2002SE test proved otherwise. The sheer presence of the USB 2.0 device reduced battery life from 286 minutes down to 235 minutes, a reduction of 17.8%. A similar impact was seen when using an externally powered device, in this case a 3.5" hard drive enclosure; battery life dropped from 286 minutes down to 245 minutes, a reduction of 14.3%. Yet despite Mobile Mark's evidence, Perfmon didn't agree. The processor was allegedly in its lower power states regardless of whether or not a USB 2.0 device was present.
As you can probably guess, Perfmon is inaccurate in this case. While Perfmon does a fine job of monitoring C3 states for older processors, it fails to handle properly the CPUs we're most interested in: the Pentium M and Core Duo. Through our talented investigative journalism (read: by asking a question), we found that there is a tool to report accurately the amount of time spent in C3 on modern day Intel processors. Unfortunately, that tool is only available to OEMs, under NDA, for fine tuning their systems. Luckily, not everyone abides by the NDAs that their company signs, so we managed to get our hands on the tool.
The tool is actually just an extension for Perfmon made by Intel to measure accurately the amount of time that their CPUs spend in C3 or lower power states. Our sources tell us that independently measuring C4 and Deep C4 states is impossible without resorting to actually probing signals on the motherboard, but thankfully, that won't be necessary for what we need to do here today. What we need to confirm is whether or not plugging in a USB 2.0 device prevents the Pentium M and Core Duo from entering C3 or lower power states.
With the plugin installed, we now have another performance counter in Perfmon; this time, an accurate reflection of time spent in C3 or lower states. First up, we have Core Duo:
The orange vertical line indicates when we plugged in the USB 2.0 device
Next, we tried the same test with a USB 1.0 device, in this case a Microsoft Intellimouse Optical Blue mouse:
The orange vertical line indicates when we plugged in the USB 1.0 device
Now, the real question is whether or not the same problems exist on a previous generation Centrino system. In this case, we have the Lenovo T43 based on the Pentium M/Sonoma platform released approximately a year ago.
The first test was the same; plug in a USB 2.0 drive:
The orange vertical line indicates when we plugged in the USB 2.0 device
And just to be sure, we also did the USB 1.0/Mouse test:
The orange vertical line indicates when we plugged in the USB 1.0 device
61 Comments
View All Comments
lazybum131 - Tuesday, February 14, 2006 - link
Actually, if you take into account the larger capacity battery on the T60, 56WHr compared 51 WHr, the T43 comes out ahead most of the time. The T60 has a 9.8% larger capacity battery, but with the fix it only comes out ahead 3.2%, 1.85%, 8.24% and 5.04%.Anand Lal Shimpi - Monday, February 13, 2006 - link
I'm looking into this issue myself and I will have an updated Core Duo performance article in the coming weeks that will address this as well as many other items. I wouldn't use the ASUS notebooks to compare Napa to Sonoma, especially given the internal USB 2.0 camera. I am hoping to do a Lenovo based Napa vs. Sonoma comparison that will hopefully make things a lot clearer.Take care,
Anand
JarredWalton - Monday, February 13, 2006 - link
I think that Napa allows a lower power setting, but you have to remember that two cores are still going to use more power than a single core when active. It might be interesting to see a test comparing Sonoma and Napa with the same CPU, as Dothan and Yonah both fix socket 479. There's also a question of the other peripherals, though: NIC, sound, screen, etc. all draw power. The newer Napa laptop from ASUS might have a better (re: brighter but more power hungry) LCD, for example, or a different HDD model. I don't know if they're strictly "identical" in other components, but a change of platform often involves other tweaks as well.NullSubroutine - Monday, February 13, 2006 - link
Id be more apt to say that the increase of the FSB and the second additional core are more likely the cause, because I think they did make sure the Asus laptops were exactly the same.IntelUser2000 - Tuesday, February 14, 2006 - link
Keep in mind that with laptops especially with power consumption there is so many variations to battery life problem. It could be that the implementation of the BIOS or voltage regulator is different across the two. Voltage regulator is said to be 5-10% of total power consumption, so differences in V-reg can make differences you are seeing.
Look here: http://www.hardwarezone.com/articles/view.php?id=1...">http://www.hardwarezone.com/articles/view.php?id=1...
Even with a faster CPU, MSI M635 with 1.8GHz Turion outperforms HP Compaq nx6125 with 2.0GHz Turion. It also gets better battery life even with X700.
I think 5% difference is well within the range.
huges84 - Monday, February 13, 2006 - link
Doh! I completely forgot about the dual vs single core issue. And your other points are valid as well.kmmatney - Monday, February 13, 2006 - link
Looks like I'll be using my old USB 1.1 mouse when I travel from now on.huges84 - Monday, February 13, 2006 - link
Yeah, a lot of people will be checking what version of USB their mouses are. I know I will be.Saist - Monday, February 13, 2006 - link
In reguards to THG, I was surprised to see a link as well.In reguards to AMD systems, I have a Turion on hand from Fujitsu (Lifebook S2000) and have been unable to duplicate the power loss from a default state with either a USB 2.0 external DVD drive, or a USB 2.0 Plextore ConvertX device.
I was also surprised to see that Anandtech didn't test any Turion systems themsevles in the article. But, having tested 2 Centrino systems of my own (one from Sager, the other from Dell), in addition to the Fujitsu, yes, it is time consuming.
Zebo - Monday, February 13, 2006 - link
Anand refuses to test new turions similarly equiped.. don't know why I've emailed him never heard back. Go to laptop logic.