1This document explains the thinking about the revamped and
streamlined    2nice-levels implementation in the new Linux
scheduler.    4Nice levels were always pretty weak under Linux
and people continuously    5pestered us to make nice +19 tasks
use up much less CPU time.    7Unfortunately that was not that
easy to implement under the old    8scheduler, (otherwise we'd
have done it long ago) because nice level    9support was
historically coupled to timeslice length, and timeslice
10units were driven by the HZ tick, so the smallest timeslice
was 1/HZ.   12In the O(1) scheduler (in 2003) we changed
negative nice levels to be   13much stronger than they were
before in 2.4 (and people were happy about   14that change), and
we also intentionally calibrated the linear timeslice   15rule
so that nice +19 level would be _exactly_ 1 jiffy. To better
16understand it, the timeslice graph went like this (cheesy
ASCII art   20                   A   21             \     |
[timeslice length]   22              \    |