Windows 7 64bit DPC Latency and Page Faults

Joined
Dec 31, 2016
Messages
4
Hi, Im hoping this is the right forum to ask about this...

Im using a custom built rack PC for realtime/live audio production, and Im seeing issues with LatencyMon, namely Page Faults and DPC Latency spikes.

Here is a PCPartPicker list of the components in my rack PC - https://au.pcpartpicker.com/user/matthewjumps/saved/gfvRBm

Im mainly noticing DPC Latency spikes on DirectX, USB and ATAPI drivers.

I can post a LatencyMon report if that helps too?

Does anyone have any advice on which services/processes to disable/enable, as well as which drivers are good to use, BIOS settings etc, to get my system running with as little DPC latency and Page Faults as humanly possible? Or perhaps if any components in the build are an issue, which ones to upgrade/replace?

Thanks.
 
DPC latency issues are incredibly difficult to quell entirely, the best you can hope for is finding drivers - the right combination, actually - that minimize the hit to overall system latency and that's almost a black art to be honest. The common practice is to use the current/latest available drivers for each piece of hardware you can but that's not always the best solution so it can become a hunt and pick and mix-and-match set of tasks to find out what truly works best on the given hardware foundation you've created. Considering all that hardware in the link you provided is relatively new I'm somewhat surprised that you'd have issues.

I use Windows 7 Pro x64 and will continue to use it for years to come as long as I can and using the DPC Latency Checker I get what I consider to be typical latency from about 80 to 160 μs. I know Wi-Fi drivers can be incredibly problematic for some folks; I have a Broadcom Wi-FI/Bluetooth combination card in my Latitude E6420 so I just checked the latency while doing a speed test which usually hits the Wi-Fi drivers hard and the latency during the entire test had a low of 57 μs and a high of 197 μs so I have to admit I was rather surprised at that - Broadcom apparently knows how to write some pretty rock solid drivers apparently.

You mention ATAPI drivers and that concerns me since you should not have anything like that in your system: your storage media are all SATA and while ATAPI is a common term even to this day, if you're referring to how it's listed in Device Manager it should be under the IDE/ATAPI controllers section but it's actually working as SATA by design. The fact that you brought that up specifically is curious, I suppose LatencyMon was reporting something to take note of so again, current/latest drivers might help there - I'm going to assume you are running the latest device drivers you can locate for the given hardware, of course.

I would say - if you're up to doing it - make an image of your current system as it stands right now from the storage perspective (an image is a bit for bit copy of the boot/system partitions, there's no reason to back up or image all the easily replaceable data like movies/music/etc which should be on a designated storage drive already) and then do a clean install of the OS and check things every step of the way to bringing it up to date by checking latency with each new device driver as it's installed.

Here's one tip or piece of advice I live by and I've recommended it to people in the past without many problems:

Use the drivers that you get from Windows Update on almost everything you possibly can except for video card drivers (get those from the graphics card manufacturer first and if those aren't working properly or causing issues then go get the reference drivers from AMD/Intel/Nvidia as required. The drivers that exist on Windows Update are very heavily tested not only by the device manufacturer but then Microsoft tests them out pretty extensively before they get the WHQL "seal of approval" and appear on Windows Update itself. I recommend those for basically every device except graphics and perhaps something specialized like an input device (specific mouse drivers to enable more functionality, etc). I have a Microsoft IntelliMouse Optical (has the buttons on the left and right sides) and while I technically could install the IntelliMouse software I don't have any funky specialized need for that stuff and the 5 button functionality already has support with - you guessed it - the Windows Update drivers so that's what I use.

DirectX I can't speak much for, I'm not a gamer but you can still make sure to have that updated as much as possible as well I suppose.

Not sure what else to suggest, that should get you rolling at least from a potential troubleshooting perspective.

I see that's your first post so, welcome to the [H] and [H]appy New Year. ;)
 
Hi Tiberian, thanks for the welcome and the reply :)

Heres an imgur album of screenshots from LatencyMon, it shows the drivers that are playing up etc - http://imgur.com/a/L6Tzp

Heres a pastebin of the Stats tab - http://pastebin.com/sMRPHcQp

For the majority of the time the DPC latency was pretty good, I was seeing between 10-30, and the Stats tab in LatencyMon reported an average of 1.788503 µs which seems pretty good

Right now Im not really able to reinstall Windows, there is a lot of music software on the HDD that took ages to set up and install :/

As for the ATAPI drivers, Im pretty sure Im using the latest Samsung drivers, would I better off going for the standard Windows drivers?

I also have no wireless drivers installed, the rack PC is not connected to the net in any way, which does make updates a bit hard, I have to manually copy them onto a USB.

Oh also when I opened up mspaint at the end it caused a bunch of extra pagefaults, I edited that line out of the Process Tab image, maybe I shouldnt have...

Any more advice or info would be greatly appreciated

Cheers
 
I prefer LatencyMon because it gives you more details and shows you what driver is causing latency issues. It also supports up to Windows 10.
 
Page faults are normal operation so don't go thinking you're ever going to reduce or get rid of them to any degrees, it is a normal thing on any modern operating system of any kind and does not impact performance overall to very significant degrees other than raising some counter amount in a monitor app. :)

As far as the actual stats info, with a high DPC latency of 564 µs I really honestly don't see a big problem with your machine based on those stats, it seems fine to me and with an average of 1.7 µs that's insanely low based on my experience. As noted above my laptop (a Sandy Bridge Core i7 based Latitude E6420) is way way slower in terms of latency than your box happens to be: I just ran LatencyMon for a minute and got similar numbers to what DPC Latency Checker shows and again at least for me it's a non-issue overall and has never been an issue but there was one of note:

I did use a VPN service recently (trial for a few days) and they were using a particular TAP driver (which takes over all the network traffic as part of the secure tunneling) which caused insanely high DPC latency and I mean absurdly crazy consistent issues to the point where even playback of locally stored audio files in foobar2000 were skipping pretty severely, had never had that happen before on any platform hardware I've ever used or owned. When the VPN circuit was enabled it was fine as long as nothing was happening aka idle, but the instant I started network traffic over that VPN - as measured by their own traffic monitor - the DPC level went nuts and just stayed that way until it went back to idle with no traffic. I noticed it like 30 seconds into first using it, documented it, even made a short video showing what was happening and provided that to the VPN service's support and they blew it off stating the issue had to be my hardware (even in spite of their being other reports from other users of that VPN service making similar complaints in the past).

But honestly your stats are way way lower than mine and I can't see you having any issues at all with doing pretty much anything. Unless you're actively having real issues like skipping audio or "static" heard during playback (micro-skips that happen so fast it just comes out as static instead of full on dropouts of the audio) or issues with video playback (out of sync A/V, distorted decoding of the video streams, etc) then I'd say your box is working fine.
 
I have another question that might be pertinent - Im not sure which is the correct PCIe slot to install the soundcard in.

Its currently in a PCIe x1 slot, but looking at my motherboards block diagram I see that all the PCIe x1 slots go into the Intel Z97 block (Which also controls all the USB/SATA hubs etc), instead of the PCIe x4/x8/x16 slots which go directly to the CPU.

I also notice in device manager that the soundcard is on the same IRQ channel as a USB bus, wheras the video card, which is in a x8 slot, has its own channel.

So my question is - would it be more stable to put the soundcard in one of the x8 slots so its only sharing a bus with the graphics card, but its directly wired into the CPU and doesnt have to share time/resources whatever with the USB/SATA stuff? The graphics card only needs x8, and the soundcard only needs x1, so Im assuming the main PCIe bus with a max of x16 will have no bandwidth issues? Is this correct? Is it best to put high performance real time audio soundcards on the same bus as the graphics card?

Or am I better of putting it on the x1 bus sharing with the USB/SATA etc, going into the Intel Z97 block instead of direct to the CPU? My gut says no.

PS here is my mobos block diagram fyi:
0s61vNB.png
 
I have another question that might be pertinent - Im not sure which is the correct PCIe slot to install the soundcard in.

Its currently in a PCIe x1 slot, but looking at my motherboards block diagram I see that all the PCIe x1 slots go into the Intel Z97 block (Which also controls all the USB/SATA hubs etc), instead of the PCIe x4/x8/x16 slots which go directly to the CPU.

I also notice in device manager that the soundcard is on the same IRQ channel as a USB bus, wheras the video card, which is in a x8 slot, has its own channel.

So my question is - would it be more stable to put the soundcard in one of the x8 slots so its only sharing a bus with the graphics card, but its directly wired into the CPU and doesnt have to share time/resources whatever with the USB/SATA stuff? The graphics card only needs x8, and the soundcard only needs x1, so Im assuming the main PCIe bus with a max of x16 will have no bandwidth issues? Is this correct? Is it best to put high performance real time audio soundcards on the same bus as the graphics card?

Or am I better of putting it on the x1 bus sharing with the USB/SATA etc, going into the Intel Z97 block instead of direct to the CPU? My gut says no.

PS here is my mobos block diagram fyi:
0s61vNB.png
A full length PCI-E card is going to use 16 lanes of bandwidth if it's available. If you plug in 2 cards or use the second slot you would get 8x per (even if it's wired 16x). If the CPU supports 20 lanes, then you have 4 free lanes so the 1x will be fine. If you insist on using CPU PCI lanes, I would use the very top PCI-E x16 slot for the GPU and the third for the sound card. GPU always goes in the top slot. Sometimes they are even labeled GPU.

Also, I really wouldn't be concerned about using the 1x slots with the PCH. By using a sound card you are going to disable the onboard audio. You're not going to max out the PCH.
 
Back
Top