A Deferred Procedure Call (DPC) is a Microsoft Windows operating system mechanism which allows high-priority tasks (e.g. an interrupt handler) to defer required but lower-priority tasks for later execution. This permits device drivers and other low-level event consumers to perform the high-priority part of their processing quickly, and schedule non-critical additional processing for execution at a lower priority.
DPCs are implemented by DPC objects which are created and initialized by the kernel when a device driver or some other kernel mode program issues DPC requests. DPC requests are added to the end of a DPC queue. Each processor has a separate DPC queue. DPCs have three priority levels: low, medium, and high. By default, all DPCs are set to medium priority. When Windows drops to an IRQL of Dispatch/DPC level, it checks the DPC queue for any pending DPCs and executes them until the queue is empty or some other interrupt with a higher IRQL occurs.
For example, when the clock interrupt is generated, the clock interrupt handler generally increments the counter of the current thread to calculate the total execution time of that thread, and decrements its quantum time remaining by 1. When the counter drops to zero, the thread scheduler has to be invoked to choose the next thread to be executed on that processor and dispatcher to perform a context switch. Since the clock interrupt occurs at a much higher IRQL, it will be desirable to perform this thread dispatching which is a less critical task at a later time when the processor's IRQL drops. So the clock interrupt handler requests a DPC object and adds it to the end of the DPC queue which will process the dispatching when the processor's IRQL drops to DPC/Dispatch level.
When working with streaming audio or video that uses interrupts, DPCs are used to process the audio in each buffer as they stream in. If another DPC (from a poorly written driver) takes too long and another interrupt generates a new buffer of data, before the first one can be processed, a drop-out results.[1]
^Ute Eberhardt (27 June 2012). "DPC Latency Checker". Thesycon.de. Archived from the original on 15 October 2017. Retrieved 14 October 2017.
and 24 Related for: Deferred Procedure Call information
sometimes a record can be expunged. In a deferred adjudication, the criminal case that resulted in the deferred adjudication will often remain part of a...
larger computations, TinyOS provides tasks, which are similar to a DeferredProcedureCall and interrupt handler bottom halves. A TinyOS component can post...
DoS—Denial of Service DOS—Disk Operating System DP—Dot Pitch DPC—DeferredProcedureCall DPI—Deep Packet Inspection DPI—Dots Per Inch DPMI—DOS Protected...
Pancreatic Cancer-4 (DPC4), a cell signaling protein DeferredProcedureCall, Windows mechanism to defer lower-priority tasks Dirty paper coding, a coding...
Deferred Action for Childhood Arrivals (DACA) is a United States immigration policy. It allows some individuals who, on June 15, 2012, were physically...
peaker electrical plant. DISPATCH_LEVEL, an interrupt level for deferredprocedurecall in Microsoft Windows. This disambiguation page lists articles associated...
and SLIHs are also known as slow/soft interrupt handlers, or DeferredProcedureCalls in Windows. A FLIH implements at minimum platform-specific interrupt...
conducted at the port of entry where the alien arrived, is deferred to be carried out later at a deferred inspection site, while the alien is paroled into the...
Criminal procedure is the adjudication process of the criminal law. While criminal procedure differs dramatically by jurisdiction, the process generally...
Deliberative assemblies – bodies that use parliamentary procedure to arrive at decisions – use several methods of voting on motions (formal proposal by...
Windows kernel mechanisms, including system calls, Windows Registry, Windows Driver Model, DeferredProcedureCall, and others, into the Linux kernel to form...
Deferred Action for Parents of Americans and Lawful Permanent Residents (DAPA), sometimes calledDeferred Action for Parental Accountability, was a planned...
first to be drafted, and men in lower classifications were deferred. Dependency deferments for registrants who were fathers or husbands were especially...
process shutdown. Threaded DPC [1], conversely to an ordinary DPC (DeferredProcedureCall), decreases the system latency improving the performance of time-sensitive...
In computer science, future, promise, delay, and deferred refer to constructs used for synchronizing program execution in some concurrent programming languages...
the 18th century. This is now known as the Criminal Procedure Act 1701 c. 6. It was originally called "the Act for preventing wrongful imprisonment and...
of Civil Procedure The Federal Rules of Civil Procedure (officially abbreviated Fed. R. Civ. P.; colloquially FRCP) govern civil procedure in United...
a declaration ceremony for $35M. Nothing in the New 7 Wonders voting procedure prohibited repetitive voting, making the results subject to government...
they mean another. United States portal Law portal Alternative pleading Deferred adjudication Insanity defense List of people who entered an Alford plea...
the deferred nodes are stored implicitly in the call stack. Depth-first search is easily implemented via a stack, including recursively (via the call stack)...
interpreted as giving a plea of not guilty; the Federal Rules of Criminal Procedure, for instance, state, "If a defendant refuses to enter a plea or if a...
exchange, a unit of account, a store of value and sometimes, a standard of deferred payment. Money was historically an emergent market phenomenon that possessed...
Segurança) in Brazil and the constitutional complaint (Verfassungsbeschwerde) procedure found in Germany. In many countries, an amparo action is intended to protect...