Problem solve Get help with specific problems with your technologies, process and projects.

Set processor affinity for a device driver

Why you want to set the affinity for a device driver, and how to do it.

Windows 2000 administrators with multiprocessor systems are probably familiar with the procedure for setting a...

particular application to work with a specific processor. This is known as assigning processor affinity for an application, and in certain circumstances can be extremely useful. If you have a dual-processor system with Web server software and database software, you can assign each one to a specific processor so they don't step on each other's toes, so to speak. But it's also possible to assign hardware drivers to a specific processor.

Windows 2000 doesn't allow you this sort of configurability out of the box, but an anonymous Microsoft programmer has written an upper filter driver that allows you to do this. The driver can be downloaded from To use it, follow these steps:

  1. Unzip the archive into a folder.
  2. Copy the filter driver, INTFILTR.SYS, into the %SystemRoot%\system32\drivers folder of the multiprocessor computer.
  3. Double-click the INFILTR.REG (inside the .ZIP package) file to install the Registry entries needed to activate the filter driver.
  4. Run the INTFILTR.EXE application (inside the .ZIP package).
  5. Select a device to assign to a particular processor from the Devices list.
  6. Click Add Filter to turn on the filter driver for that device.
  7. Check the Don't Restart Device When Making Changes checkbox if you are setting affinity for a device driver which should not be stopped and restarted right now, such as a video driver.
  8. Click Set Mask to set the processor affinity for the driver.
  9. Repeat steps 5-8 as many times as needed.
  10. Reboot.

The filter driver is not supported in any way by Microsoft, so use it at your own risk. That said, a properly-debugged device driver should not pose problems.

Some recommendations for use: if you are running a server with multiple network adapters, assign each adapter to a different processor. The same goes for multiple disk controllers, or any other device drivers whose interrupt processing you want to keep as segregated as possible.

Serdar Yegulalp is the editor of the Windows 2000 Power Users Newsletter.

Dig Deeper on Windows Server storage management