>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/

