How to Install and Use the Interrupt-Affinity Filter Tool

ID: Q252867


The information in this article applies to:
  • Microsoft Windows 2000 Professional
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server

IMPORTANT: This article contains information about editing the registry. Before you edit the registry, make sure you understand how to restore it if a problem occurs. For information about how to do this, view the "Restoring the Registry" Help topic in Regedit.exe or the "Restoring a Registry Key" Help topic in Regedt32.exe.

SUMMARY

Binding of device interrupts to particular processors on multiprocessor computers is a useful technique for maximizing performance, scaling, and partitioning of large computers. IntFiltr is an interrupt binding tool that permits you to affinitize device interrupts to processors on multiprocessor computers. IntFiltr uses Plug and Play features of Windows 2000 and provides a graphical user interface (GUI) to permit interrupt binding. This articles describes how to install and use the Interrupt-Affinity Filter (IntFiltr) tool to permit a user to change the central processing unit (CPU) affinity of interrupts on a single computer.


MORE INFORMATION

WARNING: Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk.

For information about how to edit the registry, view the "Changing Keys and Values" Help topic in Registry Editor (Regedit.exe) or the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in Regedt32.exe. Note that you should back up the registry before you edit it. If you are running Windows NT, you should also update your Emergency Repair Disk (ERD).
You may improve performance and scaling of large computers containing multiple processors by partitioning and affinitizing 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 scaling.

Windows 2000 contains many features that permit threads and processes to be affinitized to particular processors. The IntFiltr tool uses Plug and Play features of Windows 2000 that permits you to affinitize device interrupts to particular processors. You may configure the IntFiltr tool to connect the filter driver to devices with interrupts, and also to set the affinity mask for the devices that have the filter driver associated with them.

The IntFiltr tool permits an administrator to direct a device interrupt to a specific set of processors. On a Windows 2000-based multiprocessor computer, the interrupt controller directs a device interrupt to any available processor, which means an interrupt is serviced by the processor with the lowest interrupt request priority. By using IntFiltr, an administrator can choose to override the default behavior by configuring any set of processors as the target for the device interrupt. Typically, this would involve choosing a single processor to be the target.

Interrupt filtering can affect the overall performance of your computer. However, no single algorithm produces the best performance under all possible workloads. This is why Windows 2000, by default, directs interrupts to any available processor. An administrator, however, may be interested in partitioning interrupts for certain devices to particular processors or experimenting with various configurations to find out the optimal configuration. Note that this tool permits any configuration, even ones that are not optimal.

Because IntFiltr uses Plug and Play features of Windows 2000, IntFiltr cannot be used on Microsoft Windows NT, and it can only be used on devices that support Plug and Play. Also, IntFiltr should not be used on any device that is sharing interrupts with another device.

How to Install IntFiltr

  1. Download the IntFiltrTool.exe self-extracting file located at the following Microsoft Web site:
    ftp://ftp.microsoft.com/bussys/winnt/winnt-public/tools/affinity/


  2. Run the IntFiltrTool.exe file to extract the IntFiltr.zip file, and then use the WinZip.exe tool to extract the files from the IntFiltr.zip file.


  3. Copy the IntFiltr.sys file to your %SystemRoot%\System32\Drivers folder.


  4. Update your registry to include the changes listed in the IntFiltr.reg file by running the regedit intfiltr.reg command.


How to Configure and Use IntFiltr

  1. Run the IntFiltr.exe tool located in the Config folder of this package.


  2. Under Devices, click the appropriate device, and then use Add Filter and Remove Filter to turn interrupt filtering on and off, respectively. When IntFiltr is installed on a device, the string "InterruptAffinityFilter" appears in the Upper Filters box.


  3. Click to select the Set Mask check box to set the CPU affinity for the selected device interrupt, or click to select the Delete Mask check box to remove a device CPU-affinity mask from the registry. Note that installing IntFiltr on a device has no useful effect if no CPU-affinity mask exists for a device.


NOTE: The Don't Restart Device When Making Changes is intended for advanced users, and can be used to change a device filter setting without restarting the selected device. Note that when this is enabled, any change you make does not take effect until the next time the device is restarted.

Even though all the computer devices appear in the Deviceslist, it only makes sense to install IntFiltr on devices that have interrupt resources. To see which devices have interrupt resources, use Device Manager, and then view resources by type.

Once configured, IntFiltr runs in the background with no interaction until it is reconfigured. Interrupt affinity settings made with IntFiltr are persistent between reboots, meaning that once 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 that is being removed from the computer, the system administrator must update the affinity mask for the device before the processor is removed from the computer. Also, IntFiltr generally should not be used on any device that is sharing interrupts with another device. The third-party products discussed in this article are manufactured by vendors independent of Microsoft; we make no warranty, implied or otherwise, regarding these products' performance or reliability.

Additional query words:

Keywords : kb3rdparty kbtool
Version : WINDOWS:2000
Platform : WINDOWS
Issue type : kbhowto


Last Reviewed: February 3, 2000
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.