Righi: Writing a scheduler for Linux in Rust that runs in user-space
Andrea Righi has starteda blog series on writing a user-space CPU scheduler with the BPF-basedextensible scheduler class:
.select_cpu() implements the logic to assign a target CPU to a taskthat wants to run, typically you have to decide if you want to keepthe task on the same CPU or if it needs to be migrated to adifferent one (for example if the current CPU is busy); if we canfind an idle CPU at this stage there's no reason to call thescheduler, the task can be immediately dispatched here.