SCX_MLFQ

ChadD

[H]F Junkie
Joined
Feb 8, 2016
Messages
8,547
Been messing around with SCX_MLFQ.
https://github.com/galpt/scx_mlfq

Very interesting scheduler. As long as your using a AMD GPU at least.

It is written to be amdgpu aware. Its a fairly standard scheduler setup 3 ques, uses a EEVDF like que. Prioritizing real time. What makes it interesting is its watching amdgpu thread requests and automatically bumps threads making GPU requests. Been using for a few days, very very smooth.

The only down side is its not hardware agnostic. Technically there is nothing stopping it looking at Intel hardware and Nvidia open (Nouveau) kernel drivers. (no hooks right now, I am not sure if their reporting is as clean. I assume the developer simply has AMD hardware to test on) I think to support NV official drivers would require a little different setup but would of course be possible. Or at least as I understand it, its possible the frameworks for NV hardware aren't quite there yet, or as smooth. I believe they would have to do a bit more work creating probes. Not sure. Anyway I believe MLFQ is the first to start scheduling threads based on GPU requests.

Developer created a nice little WebSUI you can use to monitor it while running very cool stuff. In the UI when you fire up some heavy GPU work the running GPU submit threads jump and I assume its giving those threads top priority.
Screenshot_20261111_214643.png
 
Last edited:
Back
Top