Since version 2.6.23, CFS has been the de facto kernel CPU scheduling code for regular threads; the majority of threads are SCHED_OTHER, which is driven by CFS. The driver behind CFS is fairness and overall throughput. In a nutshell, within its implementation, the kernel keeps track of the actual CPU runtime (at nanosecond granularity) of every runnable CFS (SCHED_OTHER) thread; the thread with the smallest runtime is the thread that most deserves to run and will be awarded the processor on the next scheduling switch. Conversely, threads that continually hammer on the processor will accumulate a large amount of runtime and will thus be penalized (it's quite karmic, really)!
Without delving into too many details regarding the internals of the CFS implementation, embedded within the task structure is another data structure, struct sched_entity, which contains within it an unsigned 64-bit value called vruntime. This is, at a simplistic level...