Ich habe mehrere UIO-Interrupts definiert. Ich verwende Linux 6.12 ohne die Echtzeitkonfiguration (also mit dem Standard-Scheduler CFS).
Mein Userspace-Treiber verwendet poll in einer Schleife, um diese Interrupts wie hier beschrieben zu überwachen.
Manchmal wacht mein Userspace-Prozess aufgrund der Häufigkeit von Interrupts und Launen des Kernel-Schedulers mit mehreren zu verarbeitenden Interrupts auf.
Die API von poll (und select und epoll) geben keine Reihenfolge an, in der die Interrupts aufgetreten sind – die Ausgaben sind in derselben Reihenfolge wie die Eingaben.
Gibt es für einen Userspace-Treiber eine Möglichkeit, UIO-Interrupts zuverlässig in der richtigen Reihenfolge zu verarbeiten? Wenn nicht, gibt es eine Linux-Dokumentation, die erklärt, warum die geordnete Übermittlung von Interrupts an den Userspace mit einem Nicht-Echtzeit-Scheduler nicht möglich ist?
(Hinweis: Die Übermittlung mit geringer Latenz ist keine Voraussetzung. Ich konzentriere mich nur auf die Erkennung der Ereignisreihenfolge.)
In-der-Reihenfolge-Zustellung von UIO-Interrupts für Userspace-Treiber ⇐ Linux
-
- Similar Topics
- Replies
- Views
- Last post
Mobile version