Interrupt-Affinity Policy Tool
Updated: October 1, 2006
File name: Interrupt_Affinity_ Policy_Tool.msi
About This Download
Binding device interrupts to particular processors on multiprocessor computers is a useful technique to maximize performance, scaling, and partitioning of large computers. Interrupt-Affinity Policy (IntPolicy) is an interrupt-binding tool that replaces its predecessor Interrupt-Affinity Filter (IntFiltr) and uses some of the interrupt-binding enhancements introduced in Windows Server 2008. Administrators can use IntPolicy to set and view a device processor affinity on multiprocessor computers. Each device has an affinity policy that the system uses to set the processor affinity for that device's interrupts. IntPolicy provides a graphical user interface (GUI) that allows the binding of a device's interrupts to processors by setting the device's affinity policy. This article describes how to install and use IntPolicy.
Windows Server 2008 R2 (support for up to 64 logical processors)
IntPolicy improves performance and scaling of large computers that contain multiple processors with partitioning and setting the affinity for tasks to particular processors. When properly configured, the technique of partitioning permits caches on the processors to be used more effectively, thereby improving performance and scalability.
IntPolicy uses the affinity policy characteristic of a device to permit affinity of device interrupts to particular processors. By clicking the Advanced button, you can set the device policy to one of the following:
The following table shows the definition for each setting.
For more information about device affinity policies, refer to Interrupt Affinity and Priority.
IntPolicy permits you to direct device interrupts to a specific set of processors. On a Windows Server 2008-based multiprocessor computer, the interrupt controller directs a set of processors to service a device interrupt, where one of the processors services the interrupt based on machine-specific heuristics. By using IntPolicy, you can choose to override the default behavior when you configure the affinity policy of a device to specify a set of processors as the target for the device interrupt. We recommend that you choose a single processor to be the target.
Interrupt binding can affect the overall performance of a computer. However, no single algorithm produces the best performance under all possible workloads. This is why on most platforms running with eight logical processors or less, Windows Server 2008 by default directs interrupts to any available processor. You might want to partition interrupts for certain devices to particular processors or experiment with various configurations to find the optimal configuration. Note that this tool permits any configuration, even non-optimal ones.
Because IntPolicy uses the affinity policy registry keys for a device, IntPolicy cannot be used on Windows versions earlier than Windows Server 2008 or Windows Vista Service Pack 1 (SP1), and then only on devices that have interrupt resources and are not shared with other devices. Also, some devices request specific affinity for their interrupts and such settings override any device affinity policy settings that IntPolicy sets.
How to Install IntPolicy
How to Use IntPolicy
Note: The Don't Restart Device When Making Changes check box is intended for advanced users and can be used to change a device affinity policy setting without restarting the selected device. When this option is enabled, any change made does not take effect until the next time the device is restarted.
Even though all the computer devices appear in the Devices list, we recommend that you use IntPolicy only on devices that have interrupt resources. To see which devices have interrupt resources, use Device Manager and then view resources by type.
Interrupt-affinity settings made with IntPolicy persist between reboots; that is, after an interrupt-affinity mask is defined for a device, it remains associated with the device until the administrator changes it. If a device is associated with a processor being removed from the computer, you must update the affinity mask for the device before the processor is removed. Also, generally you should not use IntPolicy on any device sharing interrupts with another device or for devices that have preset interrupt affinity.
Processor enumeration on computers that use hyperthreading first assign processor numbers to the primary logical processor for each processor and then assign numbers to the secondary. For example, for dual physical processor computers with hyperthreading, the first processor has logical processor 0 and 2 and the second processor has logical processor 1 and 3. The third-party products that are discussed in this article are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, regarding the performance or reliability of these products.