CPU scheduling and thread priority

Interrupt affinity policy (DevicePolicy)

Which processors service a device's interrupts, the registry values Microsoft documents, and why the default is recommended

Last updated

Should you change a device's interrupt affinity?

A device's interrupt affinity is the set of processors allowed to service its interrupts. Windows lets a driver or an administrator set a policy for this in the registry, including restricting a device to specific cores. Microsoft recommends using the default policy where it applies, and changing it is a targeted remedy for a measured problem, not a general optimisation.

Registry location and values

DevicePolicy

Location
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\<device>\<instance>\Device Parameters\Interrupt Management\Affinity Policy
Value name
DevicePolicy
Type
REG_DWORD
Default
Set by the driver's installation file, otherwise the machine default (0)
ValueWhat it does
0IrqPolicyMachineDefault: no particular processor assignment.
1IrqPolicyAllCloseProcessors: processors close to the device; the same as 3 on systems without NUMA.
2IrqPolicyOneCloseProcessor: one processor close to the device.
3IrqPolicyAllProcessorsInMachine: any processor in the machine.
4IrqPolicySpecifiedProcessors: the processors selected in AssignmentSetOverride.
5IrqPolicySpreadMessagesAcrossAllProcessors: spreads message-signalled interrupts across processors.

AssignmentSetOverride

Location
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\<device>\<instance>\Device Parameters\Interrupt Management\Affinity Policy
Value name
AssignmentSetOverride
Type
REG_BINARY, REG_DWORD or REG_QWORD (a processor bitmask)
Default
Not set
ValueWhat it does
BitmaskEach bit selects a logical processor, lowest bit first. Used only when DevicePolicy is 4.

What Windows actually does with this

When a device raises an interrupt, Windows routes it to a processor, which runs the driver's interrupt service routine and any deferred procedure calls that follow. The affinity policy tells Windows which processors are eligible to do that work. Windows reads the policy from the device's Affinity Policy key and hands it to the driver when the device's resources are assigned, which is why a change only takes effect once the device restarts. Microsoft recommends the default policy where applicable and documents the specified-processors policy for cases where a device's interrupts need to stay on particular cores.

What it affects

Which cores handle one device's interrupts and deferred procedure calls, and therefore which other work that driver competes with. It does not change how much work the driver does.

Is it worth changing?

Keep the default unless you have evidence that a specific device's interrupt handling is the problem, such as LatencyMon showing its driver with high DPC execution times. Even then, updating or replacing the driver is usually the better remedy. Microsoft's Interrupt-Affinity Policy Tool is documented for Windows Server 2008 and 2008 R2, with no current support statement for Windows 10 or 11, so treat guides built around it with caution.

What can go wrong

Restricting a device's interrupts to cores that are already busy, or to a single core, can increase latency rather than reduce it. Because the values sit under a hardware instance key, reinstalling the driver or moving the device to another slot can create a new instance that no longer carries the setting.

How to undo it

Delete DevicePolicy and AssignmentSetOverride from the device's Affinity Policy key, then restart the device or the PC. Find the key from the device's Details tab in Device Manager, under Device instance path.

Create a System Restore Point before editing the registry. Every setting on this page is reversible, but a restore point is the difference between undoing one change and reinstalling Windows.

Which Windows versions this applies to

Windows 10 and Windows 11, for devices whose drivers honour the affinity policy.

Interrupt affinity policy (DevicePolicy): common questions

What does IrqPolicySpecifiedProcessors do?

It restricts a device's interrupts to the processors selected in the AssignmentSetOverride bitmask. It only takes effect when DevicePolicy is set to 4, and Windows applies it when the device is restarted.

Does changing interrupt affinity reduce input delay?

Not as a rule. It can help when one device's driver has been shown to delay a core that matters, but Microsoft recommends the default policy, and moving interrupts onto a busy core can make latency worse.

Do I need to restart after changing a device's interrupt affinity?

Yes. Windows passes the policy to the driver when the device's resources are assigned, so the device must restart. Restarting the whole PC is the simplest way to be sure the change is in effect.

Is Microsoft's Interrupt-Affinity Policy Tool still supported?

Microsoft documents it for Windows Server 2008 and 2008 R2 and publishes no current support statement for Windows 10 or 11, so it is best treated as a legacy tool.

Sources

Related settings

Guides that cover this setting

Every change JINSHI PC Tweaks can make is listed on the complete tweak list, and the product itself is described on PC Tweaks for gaming.


If you would rather not do it by hand

JINSHI Tweaks: all four apps

£29.99one-time

Get all four apps

Every change can be reversed on its own. No subscription, nothing to renew.

Get all four — £29.99