![]() |
High DPCs and interrupts using 100% of CPU |
Post Reply
|
Page <1 23456 8> |
| Author | |
rwc1969
Groupie
Joined: 16 July 2009 Online Status: Offline Posts: 46 |
Post Options
Quote Reply
Topic: High DPCs and interrupts using 100% of CPUPosted: 26 July 2009 at 2:49am |
|
According to Dell the hdd should be in sata0 or 1 and the dvd should be in 4 or 5. I only have 4 sata ports. From the factory sata 0 was HDD and Sata1 was dvd. I doubt this matters, but you'd think Dell would follow their own instructions. I set em according to Dell's instructions, regardless.
I disabled every startup item and all services, windows included. the machine had 15 processes running and only 35% of memory used. I then systematically disabled or uninstalled every driver or device in device manager until I came to PCI BUS, still 100% cpu, at that point I lost control of my mouse and keyboard and Vista auomatically started reinstalling PCI bus and apparently froze. I had to hard off. When I restarted Vista started going right down the list and reinstalling every device and driver I disabled. Before it got any installed, I imediately turned on Task mgr and it still showed 100% cpu from kernel times and system was using it all up.
once it came back up I uninstalled every usb except for my mouse, thum drive and keyboard, still 100% cpu even after reboot. I ran some software to get a rough idea of cpu temp and psu voltages. Everything checked out a-ok. I hear these softwares aren't the best for testing voltage, but...who knows?
Apparently you can't uninstall devices in vista because it just reinstalls them upon reboot. I don't know!
There are hundreds of folks that have posted about high cpu usage from DPCs and interrupts and except for the NVIDIA and laptop battery problem I haven't seen too many get resolved.
I doubt very much my hardware is defective. I think I would be having boot issues, errors, BSODs or something. also the system supposedly has a built in feature to alert you that hardware is malfunctioning. I don't know how reliable that is, but the power button is supposed to glow or flash amber if the psu or mobo is defective. It doesn't flash or turn amber, period. Edited by rwc1969 - 26 July 2009 at 2:51am |
|
![]() |
|
PreDOSyser
Groupie
Joined: 30 June 2009 Online Status: Offline Posts: 71 |
Post Options
Quote Reply
Posted: 26 July 2009 at 3:37pm |
|
With apologies for interupting... Have been following DPC threads to glean some clues that may be related to another problem. Call it curiosity. I am not, nor do I purport to be, knowledgable about this.
Considering the relationship between hardware and software and the statistics related to DPC and so forth is it conceivable that there is 'something' else running (perhaps started from firmware at a very low level) that is not being reflected by any of the tools used. But; its presence/activity is being reflected only in the statistics themselves?
The queues that are built up, and the cpu utilization, result from a physical limitation (cpu speed, memory transfer rates, DMA, disk througput, etcetera) and, thus, can be presumed to be 'real'. Given everything that you have tried it would seem that you may be looking for something that is introduced at a lower level than any particular driver or board swap will affect.
I sincerely hope you find the problem. I would be interested in knowing the results. Good luck.
|
|
|
Load, Store, Add, Subtract, Branch on condition. THAT is the object.
|
|
![]() |
|
rwc1969
Groupie
Joined: 16 July 2009 Online Status: Offline Posts: 46 |
Post Options
Quote Reply
Posted: 26 July 2009 at 8:06pm |
|
This is as close as I am going to come to a reason for the problem. I'll post a temporary half baked solution later. Although, there are many that relate to high DPCs and interrupts.
Apparently, many of the Dell/ Foxconn g33m02 motherboards/ firmware, and Foxconn motherboards/ firmware in general, were/ are defective from the factory. There are many articles online about defective Foxconn boards and firmware, and resulting conflicts with certain OSs, drivers, cards, etc. It seems that all systems are affected differently based on OS and system components installed. i.e. linux/ vista/ xp, AMD/ Intel, ATI/ NVIDIA, notebook/ desktop, etc. etc. I should point out that other mobos, devices and firmware have had similar problems, not just foxconn, and not just mobos. It started way before xp and vista, so I don't really know what the real issue is or why it hasn't been resolved by now. Most of the similar problems I've found in my searches relate to Dell systems, foxconn boards and Windows OSs, but that's probably just because of their popularity, economics and widespread use.
The results, sometimes, are seen as a board that is essentially not fully ACPI compliant. Since I have a single core processor task manager shows 100% cpu usage due to kernel times from"System", but folks with dual core may only show 50%, quad core 25%. Because of the way ACPI operates and issues/ assigns DPCs/ IRQs it may or may not show as the source. using process explorer I was able to determine DPCs and interrupts were the culprits of 100% cpu. Using xperf, ACPI.SYS was listed as being responsible for the high DPCs and interrupts. ACPI.SYS is the driver for "Microsoft ACPI-compliant system" in Device Manager. This driver is in someway responsible for communicating to the BIOS for ACPI related stuff, power settings, fan speed, etc. Also, it or it's siblings/ parent are responsible for assigning IRQ's to devices.
Apparently, something in the firmware of the mobo is written incorrectly which prevents ACPI from communicating with the firmware properly, if at all. ACPI keeps trying to send communication or get a response with no results leading to the constant onslaught of DPCs and interrupts. An endless cycle!
As a somewhat poor workaround some folks have disabled ACPI by updating the driver of the device listed under "Computer" in device manager, either by selecting from the drivers listed within that device or by choosing the option on installation of the OS. Or, by disabling ACPI in BIOS if the option is available. This gets rid of the DPCs and interrupts, but reverts your system back to the stone age requiring manual assignment of IRQs and no throttling, fan controls, sleep, hibernate, soft off, etc. Not a very good option for laptop users running on battery or those who are not entirely proficient in the workings of computers, like me. And, it's not guaranteed that your system will still function after you do this. There are a multitude of hotfixes and firmware updates for similar issues with certain applications, devices, hardware and/ or OSs. None of them address the problem as a whole and are only designed for certain cicumstances. None of which I've found are mine. I'm getting the idea that this problem started with the intro of ACPI and has become more prevalent and harder to diagnose as OSs and hardware become more complex.
Just do a search for High DPCs, interrupts, 100% cpu usage, high cpu usage and see how many millions of results come back. And out of those millions then see just how many were fully resolved. Not many!
I'll post my temporary partial fix in a few. Edited by rwc1969 - 26 July 2009 at 8:07pm |
|
![]() |
|
rwc1969
Groupie
Joined: 16 July 2009 Online Status: Offline Posts: 46 |
Post Options
Quote Reply
Posted: 27 July 2009 at 2:36am |
|
My temporary fix! Not 100%, but better than what I had, which was for all intensive purposes, a non-functional pc.
Fully format the HDD, virtually removing all traces of Dell partitions, utilities, etc. and vista.
Install xp pro sp2 from disk.
Download, from Dell and intel, and install all non standard drivers.
Update to sp3 fully patched.
Full ntbackup to external source.
Install AV suite.
Done! 5 hours! Compared to two weeks of messing with Vista, Dell and Foxconn. Fruitless!
Now the pc works. Amazing! I tried reformatting and reinstalling vista with no results, from recovery partition, thru a repair from recovery partition, and repair, install, and repair again from disk/s, BIOS update. Didn't help at all.
With xp, "system" in task manager still shows 100% cpu from kernel times when idle. Just to be clear, I'm not talking about system idle process, that's always 0% cpu, should be 99 when idle. But, when under load from other operations, "system" releases hold of the cpu and allows other processes cpu time, up to 100%. YAY! There is slight hesitation to start things at times, a few seconds at most, but compared to the vista setup, the xp arrangement is greased lightning.
It plays sound, video, downloads, uploads, etc. etc. just fine. In fact it's faster than this laptop I'm typing on, which isn't saying much. I've shutdown, restarted, etc. etc. many times, fully patched, backed up, restored, etc. just to test it's operation. There are no errors and very few warnings in event viewer. None of the warnings apply to anything important. Also, before, w' vista there was a memory conflict w' xp86 based pc and HPET. That is not so in XP. No conflicts and everything checks out a-ok. I was able to do a full format, install, fully patch, search all utilities for problems, back up and restore the OS in 5 hours or less. With vista, it would have taken weeks and I couldn't properly use event viewer, control panel, device manager and internet because of the slow performance. It would just hang for minutes trying to bring up info on one event and getting online was impossible. A download that now takes 30 seconds with xp took vista 8 hours or more. Crazy! To open device manager now takes about 5 seconds, 3 clicks of the mouse, with vista, 10 minutes easy.
The only negatives are kernel times are still at 100%. Which means, I think, xp is still trying to communicate with the non functional acpi firmware on the mobo. Or it's hanging as it tries to assign IRQ's. The system will not sleep, hibernate, shutdown, or restart from windows. Windows shuts down, but the box stays running, fans, lights, etc. I simply wait for windows to shutdown, then push and hold the power off button on the box. It shuts down and I press it again to restart. No BSOD's or errors on shutdown or restart. Windows has no clue this even happened, because Windows shutdown properly. This points back, in my eyes, to the ACPI problem.
So, in an effort to get rid of ACPI and interrupts/ DPCs altogether, I tried the above mentioned workaround for removing ACPI based "computer" from xp. Many people on the web have articles on how to do this for various reasons, usually related to increasing performance for gaming, quality audio or video editing and such. Also for eliminating high DPCs and interrupts. I tried the "updating acpi computer driver to a non acpi based driver" method. Here is one example of how to using Device manager. http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/Windows/XP/Q_22055408.html
This method works for some, but it crashed my system hard causing me to repair from setup cd and eventually restore from ntbackup to get the system working again. After the initial repair the acpi computer was back. There are other articles out there that explain how to do this during install or repair by pressing F5 at the Windows xp install screen where it asks you to press F6 to install 3rd party raid or scsi. This method is supposed to be more stable, but you still lose all acpi function if it even works at all.
For now, I'm happy with the system as is. It works! Yes, CPU usage is still 100%, but, it doesn't seem to affect much at the moment. It'll be interesting to see if it can run the newer 3D intensive games that my kid plays as that is why I started this all in the first place, to get the system working for him as a gift. It's in no way a gaming machine though. I did install NIS2009 and it seemed to tax the system and web browsing lightly. I don't know if that's just Norton or my machine though.
Unless someone knows another fix or something I overlooked I think the only other alternative is to buy a new mobo. One that has a functional ACPI.
I will be hard pressed to ever make another purchase from Dell or Foxconn. The g33 mobo, Foxconn and Dell pc problems are all over the net. Problems abound, especially when the two are combined. I searched on both their sites for answers and found none. They know it's a problem, because their forums and the WWW are full of complaints and requests for solutions. To my knowledge, neither Dell nor Foxconn have introduced a proper or reasonable fix.
Anyway, thanks molotov for introducing me to xperf. I might try kernrate or RattV3? and see what that shows on this xp box. I wonder if they would show similar results as xperf did with vista? Especially, if I could test it under load, as the kernel times now drop when I'm running other processes. They didn't drop with vista. I wonder why?
|
|
![]() |
|
molotov
Moderator Group
Joined: 04 October 2006 Online Status: Offline Posts: 17492 |
Post Options
Quote Reply
Posted: 27 July 2009 at 10:43am |
|
Interesting exercise!
Since the System process is showing high CPU usage, I wonder if you can configure symbols in Process Explorer and check out the stack of the thread that's responsible for the most CPU consumption... |
|
|
Daily affirmation:
net helpmsg 4006 |
|
![]() |
|
rwc1969
Groupie
Joined: 16 July 2009 Online Status: Offline Posts: 46 |
Post Options
Quote Reply
Posted: 27 July 2009 at 9:32pm |
|
I followed the above instructions, but I'm not sure how to "check out the stack of the thread that's responsible for the most CPU consumption..."
?? Edited by rwc1969 - 27 July 2009 at 9:32pm |
|
![]() |
|
rwc1969
Groupie
Joined: 16 July 2009 Online Status: Offline Posts: 46 |
Post Options
Quote Reply
Posted: 28 July 2009 at 12:37am |
|
"System" only shows up to 3-10% CPU usage in process explorer. In task mgr. it shows 100%. But, I did look at the threads in "System" using process explorer, there are around 74 threads. "ACPI.SYS!ACPIWorker" is the only thread showing CPU usage. The stack for it is here.
ntkrnlpa.exe!KiUnlockDispatcherDatabase+0x77
ntkrnlpa.exe!KeWaitForMultipleObjects+0x334 ACPI.sys!ACPIWorker+0x47 ntkrnlpa.exe!PspSystemThreadStartup+0x34 ntkrnlpa.exe!KiThreadStartup+0x16 In process explorer, the DPCs and interrupts are still what's taking all the CPU. This is equal to what task manager shows in kernel times. But they do release it to other processes like Norton, iexplorer, explorer, etc. When I installed Norton it once again made my system nearly impossible to use as it was consuming alot of CPU, even more than DPCs and interrupts at times. Not as bad as Vista, but close.
EDIT: took out the "PE help not working" part, found the answer in these forums.:) Edited by rwc1969 - 28 July 2009 at 3:03am |
|
![]() |
|
rwc1969
Groupie
Joined: 16 July 2009 Online Status: Offline Posts: 46 |
Post Options
Quote Reply
Posted: 28 July 2009 at 12:43am |
|
Also, someone had mentioned suspending, killing and setting priority of processes, but when I try it just gives a pop up stating "unable to suspend process" or "unable to set process priority".
|
|
![]() |
|
molotov
Moderator Group
Joined: 04 October 2006 Online Status: Offline Posts: 17492 |
Post Options
Quote Reply
Posted: 28 July 2009 at 4:29am |
|
You're not able to change the priority of the thread in the System process, that has ACPI.sys!ACPIWorker in the stack? Consider running Process Explorer as System, and then trying to change that thread's priority, or suspend it, or kill it. To launch Process Explorer as the system user, run psexec -sid c:\path\to\procexp.exe from a CMD prompt, replacing c:\path\to with the actual folder location of Procexp.exe.
Edited by molotov - 28 July 2009 at 4:29am |
|
|
Daily affirmation:
net helpmsg 4006 |
|
![]() |
|
rwc1969
Groupie
Joined: 16 July 2009 Online Status: Offline Posts: 46 |
Post Options
Quote Reply
Posted: 28 July 2009 at 4:11pm |
|
I don't see an option for changing the priority of a thread, only suspend or kill. I hadn't tried suspending or killing a thread, only a process as a whole. But, I just went into "System" process and clicked on the thread "ACPI.sys!ACPIWorker" and suspended it. It worked! Immediately, all interrupts and DPC cpu usage dropped to zero. I'm not sure how suspending the ACPI.sys!ACPIworker thread will affect anything else, but it sure did eliminate the DPCs and interrupts. Would have been nice to try this when I had Vista installed. Of course w' Vista I wasn't able to navigate so freely.
So, when looking at eliminating high DPCs and interupts you would go to the next process in line cpu usage wise and, viewing the threads, start suspending them until the DPCs drop??
Does "System" process normally consume CPU? I guess what's confusing, to a newb, is it only showed between 1 and 10% CPU, I wouldn't have thought to look there for the problem with DPCs. But, it was the one consuming the most outside of the artificial processes "DPCs and interrupts". And, if I had known to look at the threads of System process I would have seen ACPI and related that to the driver. As that driver is what was showing high DPCs using xperf with Vista.
So now what? Do I just leave it suspended? I get the feeling it isn't broke, but is probably trying to communicate with ACPI BIOS and can't because BIOS is broke.
|
|
![]() |
|
Post Reply
|
Page <1 23456 8> |
| Forum Jump | Forum Permissions ![]() You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |