In-der-Reihenfolge-Zustellung von UIO-Interrupts für Userspace-TreiberLinux

Linux verstehen
Anonymous
 In-der-Reihenfolge-Zustellung von UIO-Interrupts für Userspace-Treiber

Post by Anonymous »

Ich habe mehrere UIO-Interrupts definiert. Ich verwende Linux 6.12 ohne die Echtzeitkonfiguration.
Mein Userspace-Treiber verwendet poll in einer Schleife, um diese Interrupts wie hier beschrieben zu überwachen.
Aufgrund der Häufigkeit von Interrupts und Launen des Kernel-Schedulers wacht mein Userspace-Prozess manchmal mit mehreren zu verarbeitenden Interrupts auf.
Die API von poll (und select und epoll) übermitteln keine Reihenfolge, 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.)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post