Jump to content

poiufdsapuroiq

Full Member
  • Gesamte Inhalte

    37
  • Benutzer seit

Beiträge erstellt von poiufdsapuroiq

  1. Na wenigstens einer, der weiß wie es geht.

     

    Nur ist es leider nicht das Pollen der Interrupts, was die Rechenzeit kostet.

    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%:

    while sleep 1; do
    cat /proc/interrupts > /dev/null
    done

    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.

×
×
  • Neu erstellen...