3 ms·
I've never done this myself, but as I understand it [1] you can choose certain cores that the OS scheduler doesn't schedule anything on, then you can manually a
by michaelt 3y ago
I've never done this myself, but as I understand it [1] you can choose certain cores that the OS scheduler doesn't schedule anything on, then you can manually assign processes to them.
Assigning an entire CPU core to audio might be a bit much, unless you've got CPU cores to spare - the context in which I heard of this was high frequency trading, where the server really didn't need to do much except run this one application.
[1] https://unix.stackexchange.com/a/530579 https://unix.stackexchange.com/a/530579
- Joeboy 3y agoI'd have thought most people doing serious audio work (recording live performances etc) would have a core to spare for the audio process. I suppose there's probably some reason this doesn't work well, because I've never seen anybody suggest it for linux audio. Or maybe it's just that low latency was "solved" by pre-emption or whatever when cores were a scarcer resource.
- hermitdev 3y agoThings to search for: CPU sets, core isolation. I work in trading, pretty much all of our performance sensitive apps use core isolation.
- dijit 3y agosame is true of gameservers for the serious AAA studios. On windows this sort of comes out of the box because windows always defaults CORE0 to the OS and is mostly single threaded, but you can set CPU affinity on your processes in process: just avoid core0. https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-setprocessaffinitymask https://learn.microsoft.com/en-us/windows/win32/api/winbase/...
- csdvrx 3y agoI love windows, so when I moved to Linux I tried to replicate this on my Linux box I've found a lot of drivers like to spread their interrupts all over the place, so it's not as simple as using cpu affinity (or pinning processes) outside core 0 :(