2014-08-29 20 views
6

Wątek (lub zadanie) utraci dynamiczny priorytet przez użycie dużej liczby procesora i priorytetu przy użyciu mniejszej mocy procesora. Jak dokładnie obliczane są te priorytety dla n wątków (przy użyciu zwykłej strategii planowania SCHED_OTHER)?W jaki sposób dynamiczne priorytety wątków są obliczane w systemie Linux 2.6.x?

+4

Całkowicie uczciwy harmonogram (CFS), znany również jako SCHED_NORMAL lub SCHED_OTHER, jest udokumentowany [tutaj] (https://github.com/torvalds/linux/blob/master/Documentation/ scheduler/sched-design-CFS.txt) i zaimplementowane [tutaj] (https://github.com/torvalds/linux/blob/master/kernel/sched/fair.c). – indiv

Odpowiedz

1

Cytując this

Linux 2.6.8.1 scheduler nagrody I/O-związane zadań i karze zadań procesora związany przez dodanie lub odjęcie od statycznego priorytetu zadania należy. Dostosowany priorytet nazywa się dynamicznym priorytetem zadania, i jest dostępny przez zmienną prio zadania (np. P-> prio, gdzie p jest zadaniem). Jeśli zadanie jest interaktywne (termin terminarza dla wejścia I/O ), jego priorytet jest zwiększany. Jeśli jest to procesor wieprzowy, otrzyma karę . W harmonogramie linuksowym 2.6.8.1, maksymalna premia za pierwszeństwo to 5, a maksymalna kara za pierwszeństwo to 5. Ponieważ program planujący korzysta z premii i kar , poprawki do statycznego priorytetu zadania są szacowane na . Łagodny świnia CPU z ładną wartością -2 może mieć dynamiczny priorytet równy 0, taki sam jak zadanie, które nie jest ani procesem, ani głowicą I/O .

Uważam, że jest to uczciwe wyjaśnienie. Priorytet jest obliczany na podstawie tego, czy jest to wątek związany z CPU, czy powiązany z I/O. A jeśli chodzi o to, o czym wspomniałeś w pytaniu, to raczej jest priorytetem, ponieważ jest interaktywny (związany z wejściem I/O). Mam nadzieję, że ten fragment odpowiedzi na twoje zapytanie ...

Powiązane problemy