Why do processes with higher priority to be allocated more timeslice?

Parmenides mobile.parmenides at gmail.com
Sun Sep 25 22:16:58 EDT 2011


    It seems that Linux's scheduler tends to allocate longer timeslice
for processes with higher priority. Actually, the CFS scheduler which
is a new scheduler in Linux kernel also does the same thing. But, I
think this way does not fit with scheduler's principle.

    The goal chased by a scheduler is low latency and high thoughput.
Normally, a I/O-bound process has higher priority, while a CPU-bound
process has lower priority. So, a I/O-bound process (which has enough
timeslice) can preempt a CPU-bound process easily. This way ensures
lower latency. It is also necessary that CPU-bound processes are to be
allocated longer timeslice to improve throughput owing to less process
switch costs. That means lower priority processes (CPU-bound) should
be allocated longer timeslice, whichs obviously conflicts with the
actual practice taken by the Linux's scheduler. Any explanation?

More information about the Kernelnewbies mailing list