2009-11-05 4 views
5

J'ai lu des informations sur les pilotes de développement/pilotes de périphériques Linux et tous les livres que j'ai consultés use the pre-2.6.20 workqueue interface. Cela inclut le Linux Kernel Module Programming Guide, le Linux Kernel Development de Robert Love et le Essential Linux Device Drivers de Sreekrishnan Venkateswaran qui a été publié en avril 2008!Utilisation de la nouvelle interface de workqueue (depuis Linux Kernel 2.6.20)

Est-ce que quelqu'un a un guide pour utiliser le "nouveau" 2.6.20+ workqueue interface? Juste pour référence, Ubuntu 8.04 sur lequel je suis en train de développer en ce moment, a été publié il y a plus d'un an et demi et inclut le noyau 2.6.24.

Modifier

réponse de stsquad m'a conduit à this guide to porting code to the new 2.6.20 workqueue's.

Répondre

5

Vous ne pouvez pas vous tromper avec les excellents articles d'API sur LWN (http://lwn.net/Kernel/Index/) qui documentent beaucoup de nouvelles API lorsqu'elles vont dans le noyau. Il y a toute une section consacrée aux Workqueues qui vaut la peine d'être lue.

Les files d'attente ont été dans le noyau pendant un moment, donc je suppose que vous pensez au recent-ish rework of the API.

Pendant que j'y suis, je peux vivement recommander un abonnement à LWN. Tous leurs articles sont disponibles gratuitement après une semaine ou deux, mais cela vaut la peine de soutenir l'écriture de haute qualité, surtout si vous êtes un hacker de noyau aspirant.

+0

+1: Merci. Avez-vous des liens vers un tutoriel/guide sur l'utilisation de la nouvelle interface de la file d'attente? Ou connaissez-vous dire un pilote assez simple dans l'arbre source qui pourrait servir de bon exemple? –

+0

En termes de pilotes simples qui ne nécessitent pas une connaissance intime du reste du noyau, je suggère le code vt (drivers/char/vt.c) ou peut-être le pilote sysreq (drivers/char/sysrq.c). Sinon, grep autour de file_work dans un sous-système que vous connaissez. Le répertoire Documentation contient des exemples spécifiques pour divers sous-systèmes (par exemple, E/S différées), bien qu'ils l'enveloppent généralement dans leur propre cadre spécifique de sous-système. – stsquad

+2

Votre réponse m'a conduit à ce guide de portage du code à la nouvelle file d'attente de travail 2.6.20: http://lwn.net/Articles/213149/ –

Questions connexes