I've had problems with high interrupt-to-process latency (as measured by LatencyMon) before and got somewhere but never really eliminated them as I recall. I'm trying to setup a system for my brother and so I'm trying to eliminate them on that now (although I have the same problem on my gaming system, I'm focusing on getting my brother's system sorted for now, so that I can give it to him).
I'll copy the e-mail I sent to the author of LatencyMon, which covers what I'm having problems with.
"I'm having an issue with LatencyMon reporting very high spikes, which may be connected to HDD writing but I'm not sure. If I Analyse in CCleaner, no spikes but when I run the Wipe, they appear, which makes me think they're related to writing and not reading.
When I launch Iron Portable it seems to generate a spike (3500us) just as it's finished opening all the saved tabs, so perhaps it does some writing at that point. Then again, if I open a new tab and browse to a new page, that obviously writes cache files and doesn't generate a spike. Opera Portable also generates a spike of around 1100us just as it finishes loading. Sometimes IE, which only opens with one tab, does and other times it doesn't generate a spike, whether I'm running in Balanced or High Performance mode. I get the odd spike to 600-700us with various apps but that's below the threshold to trigger LatencyMon's warning, so they probably don't matter.
Even in High Performance mode, opening MediaPortal generates several spikes from 1500us to 3908us. On the second launch, it hit 20874us and then 9000us. Even if I restart LatencyMon after MediaPortal has loaded, it spikes to around 2000us several times.
I tend to see storport.sys listed for highest ISR and DPC, although sometimes ISR changes to ndis.sys or tcpip.sys and DPC changes to amd_sata.sys. Generally the numbers reported are no higher at the time of a latency spike than they are before or after though (but not always as the following shows). After running for a minute at idle, ISR is storport.sys at 28.68us and DPC is ntoskrnl.exe at 87us (with no latency spikes in that time). However, as soon as I launch MediaPortal, DPC changes to storport.sys at 239us and then ISR shows 207us for storport.sys and I get a latency spike of 9335us.
Strangely, if I run DPC Latency Checker with Iron open, the highest spike is 168us over several minutes. If I close DPC-LC and start LatencyMon however, I get a spike of 758us within 10s. Likewise with launching MediaPortal, the highest spike DPC-LC shows is 159us. I'm not sure if DPC-LC is just sampling at a lower interval than LatencyMon and missing the spikes or if there's some incompatibility with LatencyMon and my system that's causing it to show phantom latency spikes."
The first reply I received said
"The interrupt-to-latency test is only meaningful without having any other programs running in the background."
to which I replied
"You say it's only meaningful without having any other programs running but my concern is that if I'm getting high latency spikes when certain activity happens, such as writing to disk, then these spikes are going to cause issues with audio/video when this activity happens whilst using A/V software, gaming, etc."
and he replied
"The interrupt-to-latency monitor simulates a critical audio process. This is why it is not recommended to be running any other activity on top.
That said, if you would like to paste the contents of the report view in a message, we don’t mind to take a look to see if there is anything peculiar in your system."
So I sent him three reports, one at idle, one launching Iron and one launching Mediaportal
and he replied
"Your system appears to be OK. Regarding excessive hard disk usage and spikes under load, I suggest you make sure that your harddisks have enough free space and are not fragmented. You can use the standard Windows defragmentation tool for that. If fragmentation on your system is low and not a problem then I suggest considering if excessive paging might be the problem (take a look at your memory load, kill of processes that consume a lot of memory, etc.)"
My HDDs are defragged and have plenty of space, so that's not an issue. I also told him that I see tons of hard pagefaults from svchost.exe when analysing the disk with Windows defrag but no latency spikes and he replied
"Whether they are connected depends on the priority of the process that incurs the page fault. Defrag runs at lower or idle priority. In principle, only a real-time priority process/thread can compete and thus influence the interrupt to process latency measurements."
Which makes sense, although it doesn't get me any nearer to understanding why I'm getting latency spikes with MediaPortal, where it does matter as that's for playing media and having spikes could cause audio/video glitches.
So has anyone got this problem sussed or do you all just leave LatencyMon well alone and live in blissful ignorance
I'll copy the e-mail I sent to the author of LatencyMon, which covers what I'm having problems with.
"I'm having an issue with LatencyMon reporting very high spikes, which may be connected to HDD writing but I'm not sure. If I Analyse in CCleaner, no spikes but when I run the Wipe, they appear, which makes me think they're related to writing and not reading.
When I launch Iron Portable it seems to generate a spike (3500us) just as it's finished opening all the saved tabs, so perhaps it does some writing at that point. Then again, if I open a new tab and browse to a new page, that obviously writes cache files and doesn't generate a spike. Opera Portable also generates a spike of around 1100us just as it finishes loading. Sometimes IE, which only opens with one tab, does and other times it doesn't generate a spike, whether I'm running in Balanced or High Performance mode. I get the odd spike to 600-700us with various apps but that's below the threshold to trigger LatencyMon's warning, so they probably don't matter.
Even in High Performance mode, opening MediaPortal generates several spikes from 1500us to 3908us. On the second launch, it hit 20874us and then 9000us. Even if I restart LatencyMon after MediaPortal has loaded, it spikes to around 2000us several times.
I tend to see storport.sys listed for highest ISR and DPC, although sometimes ISR changes to ndis.sys or tcpip.sys and DPC changes to amd_sata.sys. Generally the numbers reported are no higher at the time of a latency spike than they are before or after though (but not always as the following shows). After running for a minute at idle, ISR is storport.sys at 28.68us and DPC is ntoskrnl.exe at 87us (with no latency spikes in that time). However, as soon as I launch MediaPortal, DPC changes to storport.sys at 239us and then ISR shows 207us for storport.sys and I get a latency spike of 9335us.
Strangely, if I run DPC Latency Checker with Iron open, the highest spike is 168us over several minutes. If I close DPC-LC and start LatencyMon however, I get a spike of 758us within 10s. Likewise with launching MediaPortal, the highest spike DPC-LC shows is 159us. I'm not sure if DPC-LC is just sampling at a lower interval than LatencyMon and missing the spikes or if there's some incompatibility with LatencyMon and my system that's causing it to show phantom latency spikes."
The first reply I received said
"The interrupt-to-latency test is only meaningful without having any other programs running in the background."
to which I replied
"You say it's only meaningful without having any other programs running but my concern is that if I'm getting high latency spikes when certain activity happens, such as writing to disk, then these spikes are going to cause issues with audio/video when this activity happens whilst using A/V software, gaming, etc."
and he replied
"The interrupt-to-latency monitor simulates a critical audio process. This is why it is not recommended to be running any other activity on top.
That said, if you would like to paste the contents of the report view in a message, we don’t mind to take a look to see if there is anything peculiar in your system."
So I sent him three reports, one at idle, one launching Iron and one launching Mediaportal
and he replied
"Your system appears to be OK. Regarding excessive hard disk usage and spikes under load, I suggest you make sure that your harddisks have enough free space and are not fragmented. You can use the standard Windows defragmentation tool for that. If fragmentation on your system is low and not a problem then I suggest considering if excessive paging might be the problem (take a look at your memory load, kill of processes that consume a lot of memory, etc.)"
My HDDs are defragged and have plenty of space, so that's not an issue. I also told him that I see tons of hard pagefaults from svchost.exe when analysing the disk with Windows defrag but no latency spikes and he replied
"Whether they are connected depends on the priority of the process that incurs the page fault. Defrag runs at lower or idle priority. In principle, only a real-time priority process/thread can compete and thus influence the interrupt to process latency measurements."
Which makes sense, although it doesn't get me any nearer to understanding why I'm getting latency spikes with MediaPortal, where it does matter as that's for playing media and having spikes could cause audio/video glitches.
So has anyone got this problem sussed or do you all just leave LatencyMon well alone and live in blissful ignorance