How can I set CPU affinity for a device driver in Windows 10

0

I search about set Custom core for driver

I found Interrupt Affinity Policy Tool

but it does not work for the driver I want

the driver is WDF01000.sys

its cause high ISR so I want to avoid him from other cores

even I try to move the driver to MSI mode but not support him

Nawaf dmg

Posted 2019-01-02T16:41:13.137

Reputation: 11

Answers

1

WDF01000.sys is not a typical driver for a particular device or device class. It is the system component that serves Kernel-Mode Driver Framework, and is designed as a driver module for convenience only. Unlike typical device drivers, it is not directly linked to particular devices. Instead, its code is called by device drivers written in KMDF model to perform some common operations.

WDF01000.sys is represented by the fake device instance (Root\LEGACY_WDF01000). When you use Interrupt Affinity Policy Tool for the "Kernel Mode Driver Frameworks service", it sets affinity mask for such fake instance. Since this is not a real device, settings are not actually applied.

Windows assigns interrupt affinity only to hardware devices able to generate hardware interrupts. If you see that WDF01000.sys processes many ISRs, it means that some device(s) generate a flow of IRQs, Windows maps them to ISRs registered by KMDF, and KMDF calls the appropriate driver.

So you need to determine which hardware device generates such IRQs flow, and set interrupt affinity for it. Unfortunately, there is no simple way to determine which device generates such interrupt flow. You can use professional tools like Windows Performance Toolkit to trace calls from/to WDF01000 module. WPT versions for Windows 8 work in Windows 7 too.

Eugene Muzychenko

Posted 2019-01-02T16:41:13.137

Reputation: 76