Quote
"CFS's task picking logic is based on this p->wait_runtime value and it is thus very simple: it always tries to run the task with the largest p->wait_runtime value. In other words, CFS tries to run the task with the 'gravest need' for more CPU time. So CFS always tries to split up CPU time between runnable tasks as close to 'ideal multitasking hardware' as possible. "Most of the rest of CFS's design just falls out of this really simple 32 concept, with a few add-on embellishments like nice levels, 33 multiprocessing and various algorithm variants to recognize sleepers."