poiufdsapuroiq
-
Gesamte Inhalte
37 -
Benutzer seit
Inhaltstyp
Profile
Forum
Kalender
Downloads
Blogs
Galerie
Articles
Beiträge erstellt von poiufdsapuroiq
-
-
Solange du /proc/interrupts pollst, wirst du die Systemlast nicht runterkriegen. Das ist einfach zu teuer. Du mußt das in die Interruptroutine des Treibers reinmachen und mit den vorhandenen Watchdogs kombinieren.
Sagem Zwitscher-Box
in Das Keywelt-Image
Geschrieben · bearbeitet von poiufdsapuroiq
Doch, das ist der Teil, der die "system"-Last erzeugt, im Kernel. "system"-Last ist auch besonders doof, da der Kernel nicht preemptive ist. Mit 2.6 wäre das nicht so dramatisch.
Mit folgendem Skript erhöht sich die Kernel last (sys) bei mir um 3-5%:
Da du vermutlich öfters pollst (ich habe den Source nicht angeschaut), wirkt sich das durchaus bemerkbar aus.
/proc/interrupts ist im Kernel relativ "teuer", auch weil es durchs VFS muß. Wenn du es unbedingt im Userspace pollen willst, dann mach einen ioctl (der dann nur den Zählerstand vom interrupt 8 zurückgibt) dafür in das aviaEXT Device, das ist wesentlich billiger.
Edit: selbstverständlich ist dann auch das Problem gelöst, daß avia_check sich die Rechenzeit mit shellexec & co teilen muß und deswegen fehlauslöst.