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