The extensible scheduler class
The extensible scheduler class
Posted Feb 12, 2023 0:20 UTC (Sun) by foom (subscriber, #14868)In reply to: The extensible scheduler class by posk
Parent article: The extensible scheduler class
The magic seems all about having userspace code choose which threads are runnable at any given time -- ensuring that there's only ever 1 "runnable" thread per CPU the process is allowed to use. The most tricky part of that being the ability to cause a new thread to be made chosen to be runnable if another blocks in the kernel.
By ensuring this, the kernel scheduler's decisions are made effectively trivial. ("N CPUs are available, and N threads are currently runnable? Ok I know what to do here!")
