Set processor affinity for a device driver

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

Requires Free Membership to View

ftp://ftp.microsoft.com/bussys/winnt/winnt-public/tools/affinity/IntFiltr.zip. 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.

This was first published in March 2003

There are Comments. Add yours.

TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.