[wdmaudiodev] Re: Increasing Timer Resolution results in erratic Scheduling/DPC Latencies on Windows 10

  • From: AI Developer <developer@xxxxxxxxxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Tue, 7 May 2019 11:38:51 -0500

Filled the problem report, but it does not yet show in "My Feedback", so I
can't get to the link...

I guess it takes some time to show up there.

Thanks.
Devendra.

On Tue, May 7, 2019 at 10:12 AM Matthew van Eerde <
dmarc-noreply@xxxxxxxxxxxxx> wrote:

Start by filing a problem report in Feedback Hub. Include “recreate my
problem” logs of the problem in action.

Then send me a link to the problem report.


https://matthewvaneerde.wordpress.com/2016/09/26/report-problems-with-logs-and-suggest-features-with-the-feedback-hub/


------------------------------
*From:* wdmaudiodev-bounce@xxxxxxxxxxxxx <wdmaudiodev-bounce@xxxxxxxxxxxxx>
on behalf of AI Developer <developer@xxxxxxxxxxxxxxxx>
*Sent:* Tuesday, May 7, 2019 7:03:38 AM
*To:* wdmaudiodev@xxxxxxxxxxxxx
*Subject:* [wdmaudiodev] Increasing Timer Resolution results in erratic
Scheduling/DPC Latencies on Windows 10

We've come across a few Desktop PCs (and at least one MacBook Pro running
BootCamp) where this happens.

It doesn't matter how the resolution is increased, whether from user mode
by timeBeginPeriod() or in kernel mode via ExSetTimerResolution() - the
result is the same.

Once the resolution is increased, from time to time (with a gap of  5 - 30
seconds), there will be scheduling delays.

The delays can be seen in various forms (all coinciding):

- LatencyMon (from Resplendence) reports an Interrupt to Process latency
of about 10 - 12 milliseconds from time to tim.
- Our NDIS Protocol driver receives network packets about 10-12
milliseconds late from time to time.
- A simple user mode program calling Sleep(1) will wake up after 10-12
milliseconds from time to time.

[Needless to say, this results in audio dropouts]

At the same time, LatencyMon does not indicate any specific DPC or
Interrupt taking a long time (max. reported is about 500 microseconds).

Also checked with Windows Performance Toolkit (xperf). Once again, there's
no indication of any driver spending that much amount of time in ISRs or
DPCs.

Further, I've tried disabling all non-essential devices (WiFi, Ethernet,
BlueTooth, Audio devices, other USB devices) and services (VirusScan,
FireWall, etc..) and background apps.

LatencyMon suggested disabling Power Throttling (also did that), and
updating the BIOS (also did that). But that also didn't help.

Also tried disabling dynamictick, and enabling platfrom clock, etc.. Once
again, none of this helps.

I'm surprised that this has not come up before!

Any suggestions on where to look for or how to solve this would be greatly
appreciated!

Thanks.
Devendra.






Other related posts: