LIVE Linux-Verband e.V. / Universität Hannover
4. - 5. März 2004

Aktuell
Aktuelle LAK-Seite
 
Home
LAK 2004
 
Allgemeines
Programm
Papers
Aussteller
Anreise
Unterkunft
 
Besucher
Anmeldung
 
Beteiligung
Call for
Participation
Referenten
Aussteller
 
Veranstalter
Impressum
 

Zeitkritische Aufgaben in Linux 2.6

Konzepte zur Steigerung der Preemptivität

Linux 2.6 ist für Soft-Realtime Aufgaben geeigneter als frühere Kernel.

In Linux 2.4 hängt die Scheduler-Laufzeit von der Anzahl rechenbereiter Prozesse ab, in 2.6 ist sie konstant wie unsere Messung belegt.

Der Timerinterrupt kommt in 2.6 jede Millisekunde, dies führt - bei entsprechendem Overhead - zu einer 10 mal besseren Zeitauflösung als in Linux 2.4.

Der in 2.6 integrierte einschaltbare Preemptible Kernel erlaubt es, Kernel-Systemdienste falls nötig zu unterbrechen, um einen hochprioren Prozess auszuführen.

Aber auch der Linux 2.6 Preemptible Kernel enthält längere kritische Abschnitte mit Preemptionsperren, die immer noch zu Verzögerungen für zeitkritische Prozesse führen wie unsere Messungen zeigen.

Die Häufigkeit solcher Latenzzeiten kann durch die Wandlung der Preemptionsperren in Mutexe reduziert werden wie es der Linux-GPL-Kernel der Firma Timesys tut. Greifen 2 Prozesse auf denselben Mutex zu, treten dennoch wieder Latenzen auf.

Ein belegter Mutex legt den Aufrufer schlafen, Interrupt Handler dürfen dies jedoch nicht. Um auch Preemptionsperren in Interrupt Handlern in Mutexe wandeln zu können, führt der Timesys-GPL-Kernel die Interrupt Handler durch hochpriore Kernel-Threads aus. Wir messen die Interrupt Response Time des Timesys-GPL-Kernels.

Mutexe können Prioritätsinversion verursachen. Der kommerzielle Timesys-Kernel begegnet dem durch ein nicht offengelegtes Prioritätsvererbungsprotokoll. Unser GPL Kernel Patch implementiert Mutexe mit Prioritätsvererbung nach einem Vorschlag von Victor Yodaiken (2001), hierzu zeigen wir exemplarische Messungen.

Referent:

Arnd Christian Heursch
Institut für informationstechnische Systeme
Fakultät Informatik
Universität der Bundeswehr München



© 2004 Linux-Automation Orgateam - Mon Jun 15 18:03:52 2009