Frage

Ich bin Portierung eine App / PCI-Treiber von VxWorks auf Linux, und ich möchte die gleiche Architektur halten, wenn möglich. Der Stromtreiber hat 2-Aufgaben (threads), die miteinander unter Verwendung von Nachrichtenwarteschlangen kommunizieren. Gibt es einen Mechanismus zwischen Kernel-Threads zu kommunizieren? Die Nachrichtenwarteschlangen verwendet werden Pufferadressen und Größeninfo übergeben, damit die Aufgaben DMA verwenden können große Datenmengen zu bewegen.

War es hilfreich?

Lösung

Ich würde dringend davon abraten, die VxWorks-Architektur unter Linux zu halten. Kernel-Thread-Proliferation ist verpönt, Ihr Code wird es nie offiziellen Kernel Baum macht in. Auch wenn Sie, dass sie sich nicht, sind Sie 100% sicher, dass Sie einen Treiber in einem Nicht-Standard-Weise entwickeln wollen? Dinge wäre viel einfacher, wenn Sie nur loswerden dieser beiden Aufgaben bekommen würde. BTW, warum auf der Erde benötigen Sie Aufgaben für PCI-Treiber zu beginnen?

Andere Tipps

Es klingt wie die workqueue Schnittstelle sein könnte, was Sie nach -. Oder für etwas leichtere, ein kfifo mit einem rwsem Semaphore kombiniert

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top