I have a DPC that is scheduled to be invoked by a timer every 20 ms.
That DPC is responsible for simply fetching an IRP from a cancel-safe-
queue, do an operation that takes **less than a microsecond**, then
completing the IRP.
Using high-resolution measurements (WPP etc.) the time it takes from
the moment the IRP is placed into the cancel-safe-queue until it is
completed is consistently 30 ms - for each and every IRP.
My simple arithmetics suggests that since CPU use at the time of
measurements shows less than 5%, that pend-to-complete time should
actually be around 20 ms, not 30 ms. At the moment, I can't think of
anything that would preempt the system in such a consistent manner
that would *always* add 10 ms latency to invoking that DPC.
Obviously I am wrong. Otherwise I wouldn't have received such results.
What could be my mistake? What could be explaining that consistent 10
ms latency?
Thanks,
Don