Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

27 lines
1.1 KiB

Interrupt Affinity Filter -- How it works:
==========================================
IntFiltr works by intercepting a specific PnP IRP that is passed to
devices (IRP_MN_START_DEVICE).
The filter looks at the (translated) resource list that is passed along
with this IRP, and modifies the affinity mask (according to settings
specified by the user) for any of the Interrupt resources in the device's
resource list. This modified IRP is then passed-on to lower drivers in
the stack.
As a result, lower drivers (which use entries in this resource list when
setting up their ISRs) will get their ISRs installed only on the set of
processors that the user has specified (via the IntFiltr configuration
tool).
The end result is that the APIC gets programmed to direct certain
interrupts to certain subsets of the CPUs in the system (which can be
verified by doing a "!ioapic" in the debugger).
------------------------------
NOTE: one of the main challenges in writing this filter was ensuring
that it could be installed on _any_ device stack.