Ich habe über Linux-Kernel-Entwicklung/Gerätetreiber und alle Bücher gelesen, die ich mir angesehen habe use the pre-2.6.20 workqueue interface. Dazu gehören die , Robert Loves Linux Kernel Development und Sreekrishnan Venkateswaran Essential Linux Device Drivers, die im April 2008 veröffentlicht wurde!Verwenden der neuen Workqueue-Schnittstelle (seit Linux Kernel 2.6.20)
Hat jemand eine Anleitung zur Verwendung der "neuen" 2.6.20+ workqueue interface?
Nur zur Referenz, Ubuntu 8.04, auf dem ich gerade entwickle, wurde vor anderthalb Jahren veröffentlicht und enthält Kernel 2.6.24.
bearbeiten
stsquad Antwort führte mich zu this guide to porting code to the new 2.6.20 workqueue's.
+1: Danke. Haben Sie Links zu einem Tutorial/Leitfaden zur tatsächlichen Verwendung der neuen Workqueue-Schnittstelle? Oder kennen Sie einen ziemlich einfachen Treiber im Quellbaum, der als gutes Beispiel dienen könnte? –
In Bezug auf einfache Treiber, die keine intime Kenntnis des Rests des Kernels erfordern, empfehle ich den vt-Code (drivers/char/vt.c) oder vielleicht den sysreq-Treiber (drivers/char/sysrq.c). Andernfalls grepst du nach queue_work in einem Subsystem, das dir vertraut ist. Das Dokumentationsverzeichnis enthält einige spezifische Beispiele für verschiedene Subsysteme (z. B. verzögerte E/A), obwohl diese normalerweise in ein eigenes subsystemspezifisches Framework eingebettet werden. – stsquad
Ihre Antwort führte mich zu diesem Leitfaden zum Portieren von Code auf die neue 2.6.20 Workqueue: http://lwn.net/Articles/213149/ –