by corbet on (#3YGX7)
The kernel's CPU scheduler must, as its primary task, determine whichprocess should be executing in each of a system's processors at any giventime. Making an optimal decision involves juggling a number offactors, including the priority (and scheduling classes) of the runnableprocesses, NUMA locality, cache locality, latency minimization,control-group policies, power management, overall fairness, and more. Onemight think that throwing another variable into the mix — and a complex oneat that — would not be something anybody would want to attempt. The recentcoschedulingpatch set from Jan Schönherr does exactly that, though, by introducingthe concept of processes that should be run simultaneously.