Interrupt Affinity Policy¶
- Menu path: ‘Tools / Interrupt Affinity Policy (IRQControl)’
Interrupt Affinity Policy chooses which CPUs service each device's interrupts. It also sets each device's interrupt priority and MSI mode. Typical uses are keeping graphics, network and USB interrupts off the cores a game or audio application runs on, or on the performance cores of a hybrid CPU.
These are system-wide device settings, not process rules: Windows reads them when it starts a device. Interrupt Affinity Policy is included in the free edition.
Interrupt Affinity Policy runs as its own program (IRQControl.exe), in Process Lasso's language and theme. It is also available on its own, free, as an installer or a portable zip, for PCs without Process Lasso: See IRQControl on bitsum.com. Process Lasso, IRQControl and LatencyTest share the saved original settings, so each of them shows and restores the changes made in any of them. Only one of them can have the interrupt settings open at a time.
Warning
A wrong setting can cause stutter, lost input, or a device that fails to start. Each device's original settings are saved before the first change, so Restore Original and Restore All can put them back. If Windows does not start normally after a change, start it in Safe Mode and use Restore All.
The Device List¶
The list shows every device that uses interrupts. Devices you changed are shown in bold, with ‘(changed)’ after the name; Show only changed devices hides the others. Click a column header to sort the list by that column. Devices that share a name, such as two audio controllers, show their location after the name. Hover over a device for its location, its instance ID and, once you changed it, the original settings that Restore Original puts back. Right-click a device for Edit..., Restore Original and Device Properties..., which opens Device Manager's property sheet for it.
- Interrupts: ‘Line-based’ for a classic interrupt line, which several devices may share, or ‘MSI’ with the number of message signaled interrupts the device uses.
- Policy: The device's interrupt affinity policy, or ‘Driver default’ when neither you nor the driver set one.
- Assigned CPUs: The CPUs chosen for the ‘Specified processors’ policy.
- CPUs in Use: The CPUs Windows actually targets for the device's interrupts, after the driver and Windows have applied the policy. ‘All’ means every CPU, ‘Any (steered by Windows)’ means Windows moves them as it sees fit.
- Priority and MSI Mode: The device's interrupt priority and MSI setting.
Changing a Device¶
Select a device and click Edit... (or double-click it).
- Policy: Where Windows sends the device's interrupts:
- Machine default: The system's default.
- All close processors: The CPUs close to the device (on systems with more than one NUMA node).
- One close processor: One CPU close to the device.
- All processors: Any CPU.
- Specified processors: The CPUs you select with Select.... Performance and efficiency cores are marked on hybrid CPUs.
- Spread messages across all processors: Each message signaled interrupt on a different CPU.
- All processors in group when steered: Any CPU of the device's processor group (newer Windows versions).
- Priority: The device's interrupt priority (Low, Normal or High).
- MSI mode: On, Off, or the driver's default, and optionally the most messages the device may use. Turning on MSI mode for a device whose driver does not support it stops the device from starting.
- Restart the device now to apply: Restarts the device so the change applies at once, the same as disabling and enabling it in Device Manager. USB input or network connections pause for a moment. Devices that Windows needs running, such as the display adapter and the controllers of the Windows disk and page file, are never restarted: Their changes apply after a reboot, and Process Lasso offers to restart Windows when you close the window.
If a device fails to start after a restart with new settings, its previous settings are put back and it is restarted again.
Restoring Original Settings¶
- Restore Original puts the selected device's original settings back, exactly as its driver installed them.
- Restore All puts back every changed device. The changes apply after a reboot.
- Uninstalling Process Lasso, and Reset Configuration, offer to restore every changed device. A silent uninstall restores them without asking, unless IRQControl or LatencyTest stays installed: They share the saved settings, so the changes stay for them.
Notes¶
- Some drivers pin individual interrupt messages to CPUs themselves, and Windows lets them. The CPUs in Use column shows the result.
- Network adapters with Receive Side Scaling (RSS) spread their work by their RSS settings, which take precedence. Use the adapter's RSS settings for those.
- Line-based interrupts that share an IRQ also share their CPUs.
- On computers with more than 64 logical processors, only CPUs in processor group 0 can be selected.
- On ARM64 PCs the settings work the same way: Windows on ARM was seen to service a pinned adapter's interrupts on the chosen CPU on a Snapdragon X Elite. Check the CPUs in Use column after a change, as on any PC.
- To find which device's driver causes audio dropouts or stutter, use LatencyTest. Its Interrupt Settings... command opens these settings with the driver's device selected.