Actually, having implemented this change, it was remarkably easy and seems to work extremely well. All I had to do was change our DPC function to a timer function and start the timer at the start of the write operation and stop it at the end. Other than that, I just commented out the code in the ISR.
We have a really nice scope/analyzer, so it was pretty cool to see what happened when we changed the system timer resolution. Keep in mind, this is a dedicated piece of hardware. It has to do one and only one thing at time. We change the system timer during this operation and set it back afterwards.
We’ve tested this on multiple units and have seen nothing but gap free transmission all day.
Appreciate all the comments and suggestions. Been very helpful.
Brad
From: xxxxx@lists.osr.com [xxxxx@lists.osr.com] on behalf of Marion Bond [xxxxx@hotmail.com]
Sent: Wednesday, April 15, 2015 6:25 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Re: [ntdev] Re: [ntdev] IRQL Priority Problems
I agree with Peter - if the protocol is that slow, shove few words in via the ISR to prevent underrun and then do the rest in a DPC. On a single core machine, with a timing sensitive application, mucking with the system timer resolution could be just as bad as the problems you had with hyperthreading
Sent from Surface Pro
From: xxxxx@osr.commailto:xxxxx
Sent: ?Tuesday?, ?April? ?14?, ?2015 ?10?:?50? ?PM
To: Windows System Software Devs Interest Listmailto:xxxxx
Sorry… But I really don’t like your chosen solution.
What version of the OS are you using?
How are you going to use the timer? Wait on it, or have it queue a DPC? Either way, are you not screwed?
Don’t fix it until you’ve profiled it, and understand PRECISELY what the problem is.
Peter
OSR
@OSRDrivers
—
NTDEV is sponsored by OSR
Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
OSR is HIRING!! See http://www.osr.com/careers
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
—
NTDEV is sponsored by OSR
Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
OSR is HIRING!! See http://www.osr.com/careers
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer</mailto:xxxxx></mailto:xxxxx>