Hi everyone,
I’ve written a WDM NDIS miniport driver for a network adapter that supports 4 MSI-X interrupts. The interrupt affinity policy is set to IrqPolicySpreadMessagesAcrossAllProcessors (5) in the INF. On most systems, this works completely fine and as intended: I get 4 interrupt objects, each with a unique (non-overlapping) affinity mask.
However, I’ve seen cases (on newer mainboards and CPUs) where I only get 1 interrupt object (same driver, same underlying network adapter). When changing the interrupt policy in the registry to IrqPolicyMachineDefault (0) and reloading the driver, I get 4 interrupt objects. The interrupt affinity masks are not unique, which is not entirely what I would like to see, but, at least, I get all interrupt objects.
Has anyone else ever seen this? Is this normal behavior? I can understand that the policy to spread the interrupts across different processors is a best-effort mechanism but, I would at least expect to get all 4 interrupt objects.
Thanks in advance!