Linux Interrupt vs. Polling

Ich entwickle ein System mit einem DSP und einem ARM. Auf dem ARM gibt es ein Linux-Betriebssystem. Ich habe einen DSP, der Daten an den ARM sendet (Linux) - Im Linux gibt es ein Kernelmodul, das die vom DSP empfangenen Daten liest. Das Kernel-Modul wird durch einen Hardware-Interrupt zwischen dem DSP und dem ARM aufgeweckt, um die Daten zu lesen.

Ich möchte eine User-Space-App schreiben, die jedes Mal, wenn neue Daten vom DSP eingehen, die Daten aus dem Kernel-Space (dem Kernel-Modul) liest.
Die Frage ist:

Was ist ein besserer Ansatz, um dies zu tun, ein Software-Interrupt vom Kernel zum User-Space oder ein Polling vom User-Space (Lesen einer bekannten Speicheradresse mit dem Kernel) alle 10 ms.

Wissend, dass:

Die Daten vom DSP zum Kernel müssen in sehr kurzer Zeit eintreffen - 100us.Die Daten vom Kernel zum User-Space können 10ms bis 30ms dauern.Die Daten, die gelesen werden, werden als klein angesehen - ungefähr 100 Bytes.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage