NDIS Miniport Driver - Interrupt DPC scheduling confusion

Hi All,

I am working on NDIS Miniport Driver. I have registered NDIS interrupt using NdisMRegisterInterruptEx. I would like to schedule DPC handler from Interrupt ISR using NdisMQueueDpcEx, But I am confused to pass the value of its third argument "TargetProcessors ". On what basis I should decide CPU number for scheduling DPC? Can I schedule DPC randomly on any CPU? Please enlighten me, Thanks in advance.

  • Parth Shah

On 14-Sep-2015 15:50, xxxxx@gmail.com wrote:

Hi All,

I am working on NDIS Miniport Driver. I have registered NDIS interrupt using NdisMRegisterInterruptEx. I would like to schedule DPC handler from Interrupt ISR using NdisMQueueDpcEx, But I am confused to pass the value of its third argument "TargetProcessors ". On what basis I should decide CPU number for scheduling DPC? Can I schedule DPC randomly on any CPU? Please enlighten me, Thanks in advance.

  • Parth Shah

You don’t have to use NdisMQueueDpcEx in this case.
Just return QueueDefaultInterruptDpc = TRUE from your MiniportInterrupt
to schedule the DPC on the default processor. This would be good to
start with.

When you have a definite idea why you want additional DPCs on other
specific processors, use NdisMQueueDpcEx.

Regards,
– pa