Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

[gelöst] - "High resolution timers not available"

Alles rund um die Systemverwaltung, die Administration und Konfiguration Eures Linuxsystems

Moderator: Moderatoren

Antworten
suse11
Newbie
Newbie
Beiträge: 6
Registriert: 21. Aug 2008, 15:19

[gelöst] - "High resolution timers not available"

Beitrag von suse11 » 8. Sep 2008, 16:55

Hallo Allerseits,

ich habe ein Problem mit der Implementierung des Preempt-Patch im Linux-Kernel bzw. dem Ergebnis, welches mir der anschließend durchgeführte "Cyclictest" (rt-tests-0.27) liefert. Dieser meldet mir nach dem Aufruf:

“WARNING : High resolution timers not available“

und führt anschließend den Test durch. Die dabei vom gepatchten Kernel erreichten Zeiten entsprechen denen eines ungepatchten Kernels (habe meine Ergebnisse mit denen auf http://rt.wiki.kernel.org/index.php/Cyc ... stallation dargestellten verglichen). Sie liegen etwas besser als die dort für den normalen Kernel dargestellten Zeiten, was daran liegen kann, dass mein Rechner (P3-700MHz) schneller ist als der dort verwendete P3-400MHz.

Kurz zur Vorgeschichte:

Ich arbeite mit Suse 11 und habe die auf der OSADL-Seite (http://www.osadl.org/Latest-Stable.late ... nux.0.html) dargestellte letzte stabile Kombination aus Kernel (2.6.24.7) & Preempt-Patch (patch-2.6.24.7-rt17) nach deren Anleitung (HOWTO) implementiert. Ein Problem dabei taucht bereits im Konfigurationsmenü des gepatchten Kernels auf, in dem ich unter anderen folgende Einstellungen getroffen habe:

# make menuconfig
Processor type and features
Timer frequency
[*] 1000 Hz
Preemption Mode
[*] Complete Preemption (Real-Time)
Kernel hacking
[*] Preemption-off Latency Tracer
[*] Scheduling Latency Tracer
[*] Interruptst off critical timings histogram
[*] Preempt off critical timings histogram
[*] Kernel Fubction Tracer (New)
[*] Interrupts-off Latency Tracer (New)

[*] wakeup latencies histogram
[ ] Check for stack overflows

Unter dem Punkt „Kernel hacking“ fehlten aber die beiden Optionen
[ ] Wakeup latency timing
[ ] Latency tracing,
welche ich dementsprechend auch nicht aktivieren konnte. Sind diese Optionen für die Echtzeitfähigkeit unbedingt notwendig, oder gibt es die Einstellungen u.U. auch unter einer anderen Bezeichnung? Könnte das Fehlen dieser Optionen die oben genannte Fehlermeldung bei der Durchführung des "Cyclictest" auslösen?
Welche anderen Möglichkeiten kommen in Frage, um das Problem der nicht ereichbaren „High resolution timers“ zu beheben?

Vielen Dank im Vorraus!
Zuletzt geändert von suse11 am 25. Sep 2008, 14:02, insgesamt 1-mal geändert.

Werbung:
Benutzeravatar
Appleonkel
Hacker
Hacker
Beiträge: 794
Registriert: 30. Apr 2004, 12:02
Wohnort: Köln
Kontaktdaten:

Re: "High resolution timers not available"

Beitrag von Appleonkel » 8. Sep 2008, 22:21

Ich denke der Fehler kam bloss von der Timer Frequency

Code: Alles auswählen

Processor type and features  --->
[*] High Resolution Timer Support
und Complete Preemption hast du ja auf Real-Time gesetzt, du musst danach eigentlich bloss dem Programm erlauben RT zu benutzen. (root darf alles)
Die dir fehlenden Optionen tauchen bei mir aber auch nicht auf, aber ich kann sagen das ich eine wesentlich bessere Latenz unter openSUSE-11.0 mit dem 2.6.24.7-rt17 habe als mit dem Standardkernel.
"Es gibt anscheinend keine Möglichkeit der Sonde zu antworten." – "Ja, es ist schwierig zu antworten, wenn man die Frage nicht versteht." Star Trek 4

suse11
Newbie
Newbie
Beiträge: 6
Registriert: 21. Aug 2008, 15:19

Re: "High resolution timers not available"

Beitrag von suse11 » 9. Sep 2008, 09:09

Danke Dir für den Ratschlag, dass war auch mein erster Gedanke aber die "High Resolution Timer Support"-Option ist aktiv, ich hatte nur verpennt sie in meiner ersten Nachricht mit hin zu schreiben...
Was meinst Du denn mit "dem Programm erlauben RT zu benutzen" - ich habe alle Tests als root gemacht - oder muß ich auch als root noch irgendwas aktivieren ?

Benutzeravatar
Appleonkel
Hacker
Hacker
Beiträge: 794
Registriert: 30. Apr 2004, 12:02
Wohnort: Köln
Kontaktdaten:

Re: "High resolution timers not available"

Beitrag von Appleonkel » 9. Sep 2008, 10:19

Hier ein Beispiel wie es mit Audio funktioniert:
http://en.opensuse.org/JackLab/Assignin ... s_with_PAM
aber als root sollte es generell funktionieren.
Bei mir funktioniert es

Code: Alles auswählen

sudo ./cyclictest -t 1 -p 80 -n -i 10000 -l 10000
0.12 0.26 0.27 1/282 24771

T: 0 (24771) P:80 I:10000 C:  10000 Min:      3 Act:    5 Avg:    5 Max:      20
Ich habe dir mal meine kernel-config hochgeladen, aber aufpassen die ist für 64bit Bild
"Es gibt anscheinend keine Möglichkeit der Sonde zu antworten." – "Ja, es ist schwierig zu antworten, wenn man die Frage nicht versteht." Star Trek 4

suse11
Newbie
Newbie
Beiträge: 6
Registriert: 21. Aug 2008, 15:19

Re: "High resolution timers not available"

Beitrag von suse11 » 9. Sep 2008, 14:15

Ich habe jetzt mal den Cyclictest genauso durchgeführt wie Du es getan hast (./cyclictest -t 1 -p 80 -n -i 10000 -l 10000) und zwar zum Vergleich einmal beim ungepatchten Kernel (2.6.25.5-1.1) und beim gepatchten Preempt-Kernel (2.6.24.7-rt17). Natürlich kam wieder bei beiden Varianten die Warnung "High resolution timers not available" - hier trotzdem die Ergebnisse:
Kernel OHNE Patch: Min: 35 Avg: 2036 Max: 4082
Kernel MIT Preempt-Patch: Min: 87 Avg: 599 Max: 1196

Man kann zwar erkennen das eine Verbesserung um den Faktor 3,x vorliegt, aber die Zeiten liegen meilenweit über denen die auf (http://rt.wiki.kernel.org/index.php/Cyc ... stallation) dargestellten Zeiten. Dort wird für einen P3 400MHz folgendes angegeben:
Kernel 2.6.16 (OHNE Patch): Min: 24 Avg: 1989 Max: 4043 (-> stimmt ziemlich genau mit meinem Standard-Kernel überein)
Kernel 2.6.16-rt12 (MIT Patch): Min: 6 Avg: 10 Max: 40

Ich denke das der Preempt-Patch an sich funktioniert, aber aus irgend einem Grund die "High resolution timer"(HRT) nicht erkannt/aufgerufen werden. Daher stelle ich mir die Frage ob irgendwo/ irgendwie noch bestimmte Biblioteken geladen/ Pakete installiert werden müssen um den HRT zugänglich zu machen, oder der Cyclictest in einem bestimmten Ordner gestartet werden muss? Vielleicht muß auch irgend eine Einstellung bzgl. des Schedulers getroffen werden?

Benutzeravatar
Appleonkel
Hacker
Hacker
Beiträge: 794
Registriert: 30. Apr 2004, 12:02
Wohnort: Köln
Kontaktdaten:

Re: "High resolution timers not available"

Beitrag von Appleonkel » 9. Sep 2008, 14:44

Hast du es mal mit dem Kernel von jengelh getestet?
Zeigt dein kernel den hres an?

Code: Alles auswählen

grep hres /proc/timer_list
Ansonsten weiss ich auch nicht woran es liegt
"Es gibt anscheinend keine Möglichkeit der Sonde zu antworten." – "Ja, es ist schwierig zu antworten, wenn man die Frage nicht versteht." Star Trek 4

suse11
Newbie
Newbie
Beiträge: 6
Registriert: 21. Aug 2008, 15:19

Re: "High resolution timers not available"

Beitrag von suse11 » 9. Sep 2008, 15:44

Leider wird kein hres angezeigt:

Code: Alles auswählen

grep hres /proc/timer_list
  .hres_active   : 0
Den von Dir genannten Kernel habe ich noch nicht getestet. Ich denke aber auch das es nur noch eine Kleinigkeit ist die mir bei meiner jetzigen Lösung fehlt, denn der Patch funktioniert ja, er wird halt durch den inaktiven hres gebremmst...

Benutzeravatar
Appleonkel
Hacker
Hacker
Beiträge: 794
Registriert: 30. Apr 2004, 12:02
Wohnort: Köln
Kontaktdaten:

Re: "High resolution timers not available"

Beitrag von Appleonkel » 9. Sep 2008, 16:12

Und du bist sicher das High Resolution Timer im laufenden Kernel aktiviert ist?

Code: Alles auswählen

zgrep HIGH_RES /proc/config.gz
CONFIG_HIGH_RES_TIMERS=y
Vielleicht hat jemand anders noch eine andere Idee?
"Es gibt anscheinend keine Möglichkeit der Sonde zu antworten." – "Ja, es ist schwierig zu antworten, wenn man die Frage nicht versteht." Star Trek 4

suse11
Newbie
Newbie
Beiträge: 6
Registriert: 21. Aug 2008, 15:19

Re: "High resolution timers not available"

Beitrag von suse11 » 9. Sep 2008, 16:53

Ja da bin ich mir sicher, da ich einerseits diese Option im Configmenü aktiviert habe und andererseits bei der Eingabe Deiner Befehlszeile genau CONFIG_HIGH_RES_TIMERS=y als Reaktion kommt...

Spasswolf
Member
Member
Beiträge: 69
Registriert: 15. Mär 2006, 14:47

Re: "High resolution timers not available"

Beitrag von Spasswolf » 25. Sep 2008, 09:58

Probier mal

Code: Alles auswählen

clocksource=hpet
als Bootparameter.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste