Frage zu Schedulerquellcode

Johannes Nicolai 99jonico at asgspez.ef.th.schule.de
Mon Mai 29 20:37:07 CEST 2000


Am Mon, 29 Mai 2000 schrieben Sie:

> SCHED_FIFO ist im lt. Ada RealTime Spezifikation unterbrechbar, aber mit der
> Randbedingung, wieder fortgesetzt zu werden, falls nichts neues dazwischen
> kommt. 

Ja, das Problem ist hier ja auch nicht das Verhalten des Prozesses,
task->counter wird aber einfach nie wieder hochgesetzt (bleibt immer auf 0 und
kommt wie gesagt ständig wieder in den Scheduler (spätestens alle 10 ms durch
den Timerinterrupt)). Ich kann mir einfach nicht vorstellen, dass dieses
Verhalten gewünscht ist, da bei allen anderen Prozessklassen sofort (SCHED_RR)
bzw. nach Ablauf aller anderen Counter (wenn kein Prozess mehr rechnen darf,
was bei SCHED_FIFO allerdings nur zutrifft, wenn dieser gerade im Status
task_interuptible(uninteruptible) ist, task->counter = task->priority 
ausgeführt wird.  

> Die passende Rationale http://www.adapower.com/rationale/rat95-p3-d.html ist
> dafür etwas mager. http://www.deja.com/=dnc/getdoc.xp?AN=626865365 führt
> weiter.
 
Dankeschön für die Informationen.

> >2. Ein Task der Schedulingpriorität SCHED_RR (Realtimetask
> >mit POSIX-Round-Robin-Verfahren (gibt auch an Tasks mit derselben
> >Realtimepriorität ab und reiht sich hinten an)) verhält sich so, wie ein
> >SCHED_RR Prozess
Sorry, ich meine hier natürlich SCHED_FIFO

> Auch dafür ist die Konsultation des Threads auf Deja hilfreich.

Bei dieser Sache bin ich mir allerdings relativ sicher, da es wirklich wie ein
kleiner Programmfehler (Zeile, die eigentlich nur aus Performancezwecken
eingefügt wurde)  aussieht.

> Die schnellste mir bekannte Antwort von Linus dauerte 4h. Er ertrinkt in
> Mails. Beantwortungsquote < 10%.

Soll man es da überhaupt noch mal versuchen?
 

> Ein Studium der Arbeiten, die ich unter
> ftp.iks-jena.de:/pub/mitarb/lutz/parsing/ liegen habe, legt die Denkweise
> bei Real Time Anforderungen in ganz andere Richtungen als man sie gewohnt ist.

Werd ich mir mal angucken.

> Sicher? POSIX gelesen?

Ja, allerdings habe ich nur eine deutsche Übersetzung (vielleicht zu allgemein
in der Sache). Dort stand aber wirklich von einem anderen Verhalten. Wo bekommt
man denn die Original POSIXnorm her?

--
Johannes Nicolai
<johannes at tlug.de>

Linux - a little byte more.