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:
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.
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:
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.
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
Mezcal - Tuesday, February 14, 2006 - link
Hello, I tested perfmon after reading your test. I own an Acer Aspire 5024 with a Turion 64 ML34 inside. So, I was wondering if this could cause me any battery problem. After testing Perfmon with % C3 time with USB wireless mini mouse, I can see a graph with mountains (between 60 and 100%) while the USB mouse is not plugged in and completely flat (0%) while plugged in. So, this may be the result of the problem you described? No?I didn't test the battery life with the USB mouse plugged in and without it 'cause I can't find any utility to test that. So, I can't say if it affects the battery life.
IntelUser2000 - Tuesday, February 14, 2006 - link
According to AT, it means Turion systems also have the same problem as the Centrinos in terms of battery life reduction when USB 2.0 devices are connected. Since % mean HOW OFTEN THE CPU IS IN LOW POWER C-STATE, 0% means its not going into low power states AT ALL, while 60-100% means its going into low power state 60-100% of the time.
NullSubroutine - Monday, February 13, 2006 - link
I am awaiting my new Dell Inspiron E1705 (2ghz Duo, 2GB 667mhz, 80GB SATA 7200, Ultrasharp 1920x1200, 7800GTX Go) I hope this issue has a better fix because it seemed the fix didnt work will with this system. I think the USB hub that is built into the system may be the cause of this, hopefully Anand can get the review of this system and see if he can fix. Personal request if anyone reads this, apply new artic silver on the cpu/gpu then see how much cooler it runs, and how much more you can overclock the gpu...pretty please...IntelUser2000 - Tuesday, February 14, 2006 - link
quasarsky - Tuesday, February 14, 2006 - link
weird. u say c4 is the 'sixth' power state. 0,1,2,3,4. sounds like it would be fifth. ???? am i missing something here?IntelUser2000 - Tuesday, February 14, 2006 - link
Anand said this:
For Pentium M
C0
C1
C2
C3
C4
Core Duo adds: deep C4
Coldfusion - Monday, February 13, 2006 - link
Or is it strictly a Windows issue?bobsmith1492 - Monday, February 13, 2006 - link
Wow.. so maybe this explains why my battery life is so different now than when my computer was new - I swear, when I first looked at it, it was saying 7 hours and I got like 5 when doing normal activities. With my mouse, though, it's more like 3-4... of course, it's a year older also. (P-M 1.7 Dothan)How can you tell whether or not a device is USB 2.0? I'm sure something in the device manager says, but I can't tell..
huges84 - Monday, February 13, 2006 - link
Why is it that the two Asus systems that are the same, except for motherboard and a slight difference in memory speed, showed that the Sonoma platform had better battery life than the Napa platform? I know it isn't much difference, but shouldn't the Napa be noticably ahead of Sonoma?Does the memory difference make that much of an impact? Or are the power consumption improvements in Napa pretty much only for when the processor is basically completely idle? If so then I don't think many people will see the extended battery life. Unless you like to leave your computer idle when it is running on battery. Maybe the improvements are also on the upper end and it is just the middle ground that didn't get improved. How high is CPU utilization in this test?
IntelUser2000 - Tuesday, February 14, 2006 - link
Well the difference is within margin of error. While W5F based on Core Duo gains less than W5A based on Pentium M, the difference is very little, less than 15 min.
Lenovo shows better results. T60 based on Core Duo always gets slightly better than T43 based on Pentium M, whether before or after, and T60 can support higher resolution, otherwise identical components.