The implementation of the real-time scheduler class is simpler than the completely fair scheduler. Only
roughly 250 lines of code compared to 1,100 for CFS are required!
The core run queue also contains a sub-run queue for real-time tasks as embedded instance of struct rt_rq:
All real-time tasks with the same priority are kept in a linked list headed by active.queue[prio], and
the bitmap active.bitmap signals in which list tasks are present by a set bit. If no tasks are on the list,
the bit is not set.
The analog of update_cur for the real-time scheduler class is update_curr_rt: The function keeps track
of the time the current process spent executing on the CPU in sum_exec_runtime. All calculations are
performed with real times; virtual times are not required. This simplifies things a lot.