How to get the cause of high CPU usage by DPC / Interrupt
Posted 18 August 2012 - 12:21 PM
ContextConsole Shell Extension
to open a CMD with admin rights in every folder you want.
Posted 28 August 2012 - 07:15 AM
I've been searching for weeks to get a solution to bad latency issues causing static audio pops, dropouts and freezes in Win7 I even bought a brand new motherboard hoping to fix my latency issues, only to find them much worse with the new board!
storport.sys is now the main culprit which I isolated in LatencyMon.
Finally discovered this forum & thread. Andre - followed your instructions and discovered storport.sys "RaidAdapterTimerDpcRoutine" is the culprit, with a max actual duration of over 51ms per spike.
However now that I've located the problem - what can I do about it? I've searched for a long time for any kind of update or fix or revision or driver rollback for storport.sys.
Windows 7 64bit SP1
Asus Sabertooth 990FX mobo
AMD Phenom II X6 1090T black
Have installed all latest drivers from Asus including latest BIOS, latest drivers for the GFX card etc and all the Win7 updates including SP1.
Cheers from Australia,
Posted 28 August 2012 - 10:12 PM
No I don't have a RAID setup - using 3 separate drives - an internal IDE HDD, an SSD and an external drive connected via SATA.
I checked in the BIOS and the SATA ports are all set to AHCI, and I couldn't find any other options to enable or disable RAID. Are there settings in the device manager or switches in the registry I need to change?
All the best,
This post has been edited by davros303: 29 August 2012 - 06:15 AM
Posted 30 August 2012 - 11:16 AM
Total = 3993 for module storport.sys
Elapsed Time, > 1024 usecs AND <= 2048 usecs, 76, or 1.90%
Elapsed Time, > 2048 usecs AND <= 4096 usecs, 0, or 0.00%
Elapsed Time, > 4096 usecs AND <= 8192 usecs, 0, or 0.00%
Elapsed Time, > 8192 usecs AND <= 16384 usecs, 0, or 0.00%
Elapsed Time, > 16384 usecs AND <= 32768 usecs, 0, or 0.00%
Elapsed Time, > 32768 usecs AND <= 65536 usecs, 38, or 0.95%
storport.sys!RaidpAdapterTimerDpcRoutine calls amd_sata.sys. This is the AMD SATA driver. You use a older version from 2011:
Number of downloads: 5
"amd_sata.sys", "1.2.001.0292 built by: WinDDK"
Install the 12.8 Southbridge driver:
This post has been edited by MagicAndre1981: 30 August 2012 - 11:39 AM
Posted 30 August 2012 - 05:19 PM
The DPC is much better, but still spiking into the red on DPC latency checker every few seconds. The new culprits seem to be Wdf01000.sys (FxDpc:FxDpcThunk) and nvlddmkm.sys (0xfffff88011186128).
What's misbehaving now?
Posted 01 September 2012 - 09:06 AM
I'm having some issues with one of my PCs again. I was having problems with stuttering in DCS BS2 and Arma2, so I switched to a spare Win7 x64 install on my HDD with less stuff installed.
The latency hovers around the 100us mark with occasional spikes of 150-200 and sometimes I seem to be able to get it to stay more in the 20-50us range but I can't find a consistent method of doing this. One time killing nusb3mon.exe seemed to do it but another time didn't seem to have any effect.
My main concern is that I keep getting USBPORT.sys showing up as the highest DPC routine execution time (sometimes the ISR as well) with very high spikes, like 1500us. I've just killed TVService.exe which is the service for Mediaportal and that seems to have stopped that but obviously I need that running to record and watch TV (and clearly when watching TV, or any video, I don't want latency problems). My TV Tuner (Hauppauge Nova-T 500) does work on the USB bus, despite being a PCI card, so that sort of makes sense but I didn't see this problem on my other Win7 x64 install.
I haven't installed the AMD SB drivers yet, mainly because when I did on my other PC it would no longer boot, just BSOD, so I'm a bit nervous but can make a True Image before doing so if you think that might help. So it's just using the Microsoft AHCI drivers at the moment.
EDIT: Just realised I was using an old version of LatencyMon. Updated now and the latency's showing below 25us most of the time with highest 41ms, so I guess it must be measured differently. I'll try restarting TVservice.exe and see if it's OK now.
Nope, after restarting LatencyMon it soon had a DPC spike on USBPORT.sys of 1263us. There's higher spikes on the latency as well, highest 108us, some 50, 70, 90.
This post has been edited by doveman: 01 September 2012 - 09:11 AM
Posted 01 September 2012 - 10:12 AM
Posted 01 September 2012 - 11:14 AM
D:\>xperf -on latency -stackwalk profile -buffersize 1024 -MaxFile 256 -FileMode Circular && timeout -1 && xperf -d interrupt.etl
let it run for about 30s, then started TVservice.exe, which takes about 30s to start. I'm not sure how much time gets captured in 256MB but I left it running for about 5 minutes which should hopefully have caught the USBPORT.sys spikes.
It created a kernel.etl and DPC_Interrupt.etl. I think from memory you only need the latter but please let me know if you want me to upload the kernel.etl as well.
Posted 01 September 2012 - 05:16 PM
try to to connect the mouse to a different port.
Thanks, that seems to have fixed it. With TV playing (obviously with TVservice.exe running) I haven't had any USBPORT.sys DPC spikes since disconnecting the mouse from my USB hub and connecting it directly to a port on the motherboard (via an extension cable as my PC is about 5m from my desk). I'll test later without TV playing just to be sure, as that was how I was testing before but I doubt it will be worse when idle.
I can't pretend to understand the image you posted, nor why the mouse connected to the hub would only cause DPC spikes when TVservice.exe is running. Could you explain a bit so I can hopefully learn how to avoid similar issues in future?
Posted 02 September 2012 - 06:46 AM
Oh I am thanks. Just seems wierd the mouse on the hub only causes problems when TVservice.exe is running. I guess as the tuner card is on the USB bus some sort of wierd conflict must be happening with the mouse on the hub when the tuner is being accessed by TVservice.exe.
Posted 02 September 2012 - 07:13 AM
I just disconnected and uninstalled the driver software for the Focusrite Saffire and the same intermittent DPC spikes are occuring, USBPORT.SYS seems to be doing the dirty work here.
Going to try swapping usb ports for the various peripherals. By the way, how do you configure settings to get that particular view from the performance toolkit that you've been posting screenshots of? eg: where you idenfied the Saffire.sys reference.
All the best,