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
mayurgala - Thursday, June 22, 2006 - link
Hi,as we saw tht MS has come with a registry fix which gets off once the machine comes out of the standby mode.... SO y cant we use hibernate it will just consume some more hard drive space :)
Hibernation vs Standby Mode are very similar and people tend to confuse the differences. Standby basically turns off power consuming components like the hard disks and monitor. It switches the computer to a low power state. Its much like a warm boot. Any contents of memory and unsaved desktop settings are lost. Hibernation saves state information by writing a hibernation file which contains the contents of memory and is thus the same size as total RAM. This is a snapshot of active memory. When you turn your PC back on, the state, including which applications are running (desktop) and the memory contents are restored to RAM and voila! - you are back to where you were when Hibernation mode started. The restoration of state can take place in 5 minutes, 5 hours, 5 days, 5 weeks, ....
Hibernation is only available if your system is ACPI-compatible. If it is not, the Hibernation tab will be missing and you will have an APM tab instead. To enable Hibernation mode as one of your Shutdown options:
V00D00 - Thursday, February 16, 2006 - link
The link to the microsoft kb article is bad, it takes you here:file://localhost/kb/256986
It's supposed to be:
https://premier.microsoft.com/kb/256986/">https://premier.microsoft.com/kb/256986/
IntelUser2000 - Wednesday, February 15, 2006 - link
Tomshardware: http://www.tgdaily.com/2006/02/14/microsoft_to_rel...">http://www.tgdaily.com/2006/02/14/micro...e_patch_...Anandtech: http://www.anandtech.com/mobile/showdoc.aspx?i=269...">http://www.anandtech.com/mobile/showdoc.aspx?i=269...
Can anyone tell me why both systems with EXACTLY the same configuration AND drivers behave differently in terms of USB 2.0 power drain problem??
If Anandtech is right about the fact that since Asus W5A/W5F has integrated USB 2.0 camera, connecting a external USB 2.0 device shouldn't affect battery life since it already has USB 2.0 device via camera installed.
However, it does not. While Anandtech's results are consistent with THEIR own conclusions that disabling the device doesn't remove the problem, the only way is to physically remove it, it doesn't show for Tomshardware results.
Summarizing the differences:
Tomshardware
1. With no external devices connected, Core Duo laptop has SIGNIFICANT battery life advantage over Pentium M
2. Core Duo laptop loses significant battery life when external USB 2.0 device is connected
3. Battery life AFTER the LOSS is STILL pretty much equal to Pentium M laptop
4. Pentium M laptop loses very insignificant amount of battery life with USB 2.0 device connected
5. Core Duo laptop AFTER THE PATCH GAINS significant battery life close to the result with no external devices connected, now the difference between CONNECTED and UNCONNECTED is within expectations
6. Pentium M laptop ALSO gains battery life after the patch, but much less significant then Core Duo laptop
Anandtech
1. Core Duo laptop has very little battery life advantage over Pentium M
2. Core Duo laptop loses insignificant battery life when USB 2.0 device is connected
3. Battery life after the loss is pretty much equal to Pentium M
4. Pentium M laptop loses insignificant battery life with external USB 2.0 device connected
5. Core Duo laptop AFTER THE PATCH gains significant amount of battery life
6. Pentium M laptop ALSO gains SIGNIFICANT amount of battery life.
Anand??? Tom??? Who the hell is wrong here?? Will you two sites stop bashing each other who has more "professional" journalism and cooperate, see what's wrong?? So umm, MAYBE WE KNOW WHY THERE IS A DIFFERENCE??!!
clnee55 - Wednesday, February 15, 2006 - link
Don't know who is right and who is wrong but at least THG is more consistent. Anand's conclusions are contradictary. Ex: 2 and 5. If the CoreDuo loses insignificant when USB2 is connected, how can it gain significant after the patch. Same contradiction between 4 and 61. Core Duo laptop has very little battery life advantage over Pentium M
2. Core Duo laptop loses insignificant battery life when USB 2.0 device is connected
3. Battery life after the loss is pretty much equal to Pentium M
4. Pentium M laptop loses insignificant battery life with external USB 2.0 device connected
5. Core Duo laptop AFTER THE PATCH gains significant amount of battery life
6. Pentium M laptop ALSO gains SIGNIFICANT amount of battery life
NullSubroutine - Wednesday, February 15, 2006 - link
i dont think his summary was accurate to what anand what saying. which was under all circumstances usb 2.0 makes Pentium M and Core Duo lose battery power due to the issue with windows.thg diabled the camera THOUGH the bios, where as i believe anand did it inside windows.
tyildirim - Wednesday, February 15, 2006 - link
And what about how swap cd/dvd bays alot of IBM's dell's has (also my d600) a removable internal cd writer in the task bar is si seems to be an usb device added to the system which I can "safelym remove" etc. so will it also affects battery life? quite confused now?hardcandy2 - Wednesday, February 15, 2006 - link
A similiar thing happens to the Dell Axim x50v with WM 2005, a battery drain takes place, due to a "file manager"(?) that keeps running. Saw it posted on www.aximsite.com a while back. Going by memory here which is not the best this AM.paulsiu - Wednesday, February 15, 2006 - link
Ok, the driver architecture is likely to be different, but does the problem occur under Linux?NullSubroutine - Wednesday, February 15, 2006 - link
i just read toms update, anand is by far better written, more informative, and used better methodoligy. go anand!mark1 - Tuesday, February 14, 2006 - link
Mark Twain had a saying, pardon my paraphrase, that a lie makes it halfway around the world before the truth gets its shoes on.THG has zero credibility. Their smug little article is still up and my bet is will stay up uncorrected so all the AMD fanboys can chortle about mighty Intel stumbling.
Turns out, THG tried a little too hard this time. So they found 'dirt'; turns out the same phenomenon afflicts all Sonoma product, too.
Before you know it, the story will have morphed into: plug any USB into a core duo and it drains the battery instantly. Heck, I was just at a retail store last weekend and was warned by a "salesman" that Duos have a battery drain problem. I asked him if he reads Tom's Hardware a lot - he wasn't ready for that. Or for that fact that I said it is a USB implementation, really nothing to do with the Centrino product. But the next 50 customers will get the same 1/2 truth. And all 1/2 truths are is lies.