Questions about linux scheduler

From: Daniel Rodrick
Date: Thu Oct 29 2009 - 11:08:39 EST


Hi list,

I'm following the Robert Love's book and am trying to understand the
Linux O(1) scheduler. So here is my understanding. The kernel allows
the applications to specify two types of priorities

* Realtime Priorities: Range from 0 to 99
* Non-realtime priorities: Also called "nice" values range from -20 to +19.

(The above are mutually exclusive)


Over all Scheduling algo
=================
* A total of 140 priorities (100 RT + 40 non-RT) - these priorities
are static - do not change over time.
* A lower priority process will run only if there are no runnable
processes in priority above it - this automatically means that all RT
processes get to run before non-RT processes.
* tasks on the same priority level are scheduled round robin

Is my above understanding correct? Where my understanding doesn't fit
is the conncept of dynamic timeslice calculation. IMHO, the dynamic
timeslice calculation applies only to Non-RT processes, right? Because
a higher priority RT process should always get to run.

Thanks,

Dan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/