1

Does anybody know how to set on which core a device driver will run and process its interrupt requests?

Situation:
I'm having iusb3hcs.sys and acpi.sys causing lags when my soundcard processes realtime audio. Is there a way, to make these two and the soundcard driver run on different processor cores, and to not disturb each other?
We can easily set affinity and priority for a process, but how to do it with a device driver?

And by the way, how can one set affinity to a service running in the background?

P.S.
Soundcard is NOT connected to the usb-3 port, driver of which is causing lags. I can disable this port in the device manager and it works fine. However my mouse is connected to that port and it's really inconvenient to work with the touchpad. So I need the port on and iusb3hcs running to have mouse.

9
  • No; There is no way to set the affinity of a device driver in Windows.
    – Ramhound
    Jul 17, 2014 at 12:21
  • I don't believe this is possible on an CPU architecture level. it would imply that a thread could never change cores, so if multiple threads were created on a core, they could never run in parallel, but would instead be constantly context switching. then what is the point of having multiple cores. no I believe that interrupts are socket or system level, so they can reach their thread, regardless of where it is running at any given millisecond. Also note that MS purposely degrades soundcard performance with certain network operations (and usb is a network stack). Jul 17, 2014 at 12:30
  • At least for Win2000 there was and application: searchwindowsserver.techtarget.com/tip/… The file is even hosted on MS ftp!
    – Anton
    Jul 17, 2014 at 12:34
  • Hello @FrankThomas, can you give me more specific information on "MS purposely degrades soundcard performance with certain network operations"? Why is that so?
    – Anton
    Jul 17, 2014 at 12:42
  • because they both run over the southbridge, which is a shared bus. many motherboards can't keep up with simultaneous gigabit network performance and 48K audio playback at the same time. Jul 17, 2014 at 14:25

1 Answer 1

0

Yes you can if your soundcard drivers has support for MMCSS: "Multimedia Class Scheduler Service". I have no idea if ASIO for all drivers support this. I have only seen support for this with RME drivers. With this service enabled, you can with programs like Processes Lasso, modify/change affinity for any cpu core, including hyper threading, for the MMCSS, it is possible that programs that have MMCSS support will work with this too, I have not tried... It really works and is one important part of how I made my win7 system realtime audio compatible.

1
  • 1
    It's not super clear in your answer HOW to set this affinity. Can you please edit your answer to clarify how you set this up? Use formatting and ordered lists to help make any specific steps very clear. May 8, 2017 at 23:39

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .