[fpc-devel] Linux thread priority mess (and possible implementation)

Michael Schnell mschnell at lumino.de
Thu Jun 24 12:12:29 CEST 2010


The term "priority" is used a bit misleadingly. Same for "real-time"


AFAIR:

 - There are 100 basic priorities (for realtime-tasks) theses can only
be assigned to processes/thread if you have the appropriate rights.
 - Theses priorities are strict. If a process/thread with a certain
priority wants to run, a thread with a lower priority never runs (unless
there is another CPU).
 - If there are multiple processes/threads with the same priority, they
are scheduled according to the Scheduling definition (e.g. SHED-_FIFO)
 - Additionally there is another "non-realtime" priority lower than all
others. Same is used for standard user processes/threads
 - Same is scheduled using time slices, that are dynamically controlled
(e.g. by a "fair scheduler algorithm". there are several such algorithms
that can be configured)
 - The time-slice allocation can be influenced by (sub-) "priories"
("nice"-definitions) -20 ... + 20 or something like that

-Michael



More information about the fpc-devel mailing list