>one or
>two processors - would this isolate the SDR from the DPC issues from
>that
>program?
>

There's a lot of misinformation floating around on the list about DPCs.
That's not surprising, because DPCs are complicated to understand
without understanding the full flow of an I/O request through a Windows
system.

PROGRAMs -- of any kind -- cannot create or processes DPCs in Windows.
DPCs are a kernel-mode (only) feature, and can only be queued by
kernel-mode entities such as device drivers.  Therefore IE doesn't
create, issue, or use DPCs.

DPCs are used by things such as drivers to complete processing that is
not ULTRA time-critical. Examples of such non-ultra time-critical things
include completing I/O requests back to the user, timer callbacks, etc.
Because DPCs execute at LESS than Interrupt Request Level (IRQL) of any
device hardware interrupt service routine, the execution of a DPC does
not block any device interrupts. The purpose of this scheme is to
attempt to keep interrupt latency low, at the expense of DPC latency.

Thus, while interrupt latency on Windows is usually excellent, and
AVERAGE DPC latency is typically pretty good, worst-case DPC latency can
be very long on some systems.

By default (about 99% of the time) DPCs execute on the same processor on
which the device hardware interrupt occurs.

With some very uncommon and complicated exceptions (Windows systems with
NUMA enabled, hardware that's using MSI/MSI-x, and a driver that's aware
of the node composition), changing the affinity of a process should not
change where the DPCs for that process's I/O executes (because it's
where the INTERRUPT occurs that determines where the DPC executes, not
where the process runs).

I hope that helps some of you understand DPCs a little better.  Someday,
when I have time, I'll write up a tutorial that explains this for the
software-inclined among you who may be interested.

Peter
K1PGV


_______________________________________________
FlexRadio Systems Mailing List
[email protected]
http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz
Archives: http://www.mail-archive.com/flexradio%40flex-radio.biz/
Knowledge Base: http://kb.flex-radio.com/  Homepage: http://www.flex-radio.com/

Reply via email to