[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DDL-ML] Probleme mit UART 16550A/FIFO?



Hallo Torsten,


in der Tat kann ich folgendes beobachten:

in /proc/interrupts sieht es etwa so aus:

     CPU0
0:   ...
1:   ...
2:   ...
4:   162656    XT-PIC serial

der Wert von Interrupt 4 ändert sich genau dann regelmässig, wenn
der erddcd in "normalen" Parametern läuft. Steigt die CPU-Last des
erddcd an, so ändert sich dieser Wert eine gewisse Zeit nicht.
Dann fällt der erddcd wieder in einen "normalen" Modus (ca. 18% CPU
Last) und auch dieser Zähler verändert sich wieder.

Inwieweit hilft mir das nun weiter?

Hmmm. Die Funktion waitUARTempty löst einen Treiberaufruf aus, der im Kernel vorrübergehend die Interrupt-Maske zumacht. Wenn das Timing zu aggresiv wird, könnte das dazu führen, das Interrupts verlorengehen, d.h. der Kernel ist vorrübergehend blind für Veränderungen in der Anzahl der zu übertragenden Bytes. Das ist aber nur eine Vermutung.


Mfg
osc

--
Olaf Schlachter -- 87435 Kempten -- Germany
e-mail: olaf.schlachter@web.de