Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
830 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs

  comportement de select() dans un module noyau

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

comportement de select() dans un module noyau

n°795755
fonsdel
Posté le 24-03-2006 à 17:17:47  profilanswer
 

Bonjour, bonjour,
 
Je suis en train d'écrire un pilote (c'est mon premier...) pour interpreter des trames GPS. J'ai déjà développé un programme executable au niveau userland qui réalise avec succès les traitements néscessaires, maintenant je souhaite adapter ce programme pour le faire tourner en tant que drivers au niveau noyau.
 
Comme mon prog est à l'écoute permanente du port RS232, j'utilise la fonction select() à l'interieur d'une boucle de lecture infinie. Select() suspend le processus en cours, et attend un evenement sur RS232. Quand des données se présentent mon processus est réveillé, une lecture est faite suivi des traitement, et je retourne au début de ma boucle infinie, et je reviens en attente sur Select()
 
Mais comment va se comporter select() en mode noyau? Si elle bloque le processus en cours, au niveau noyau est ce que cela pose problème? Est ce que cela risque de suspendre tout le noyau? ou d'en perturber son fonctionnement? Ou est ce que chaque module est vu par le noyau comme un "processus' indépendant?
 
 
 
Voili, voilou. Merci d'avance.

mood
Publicité
Posté le 24-03-2006 à 17:17:47  profilanswer
 

n°795765
mirtouf
Light is right !
Posté le 24-03-2006 à 17:34:26  profilanswer
 

tu débugges via /proc ou bien ?


---------------
-~- Libérez Datoune ! -~- Camarade, toi aussi rejoins le FLD pour que la flamme de la Révolution ne s'éteigne pas ! -~- A VENDRE
n°795766
fonsdel
Posté le 24-03-2006 à 17:35:58  profilanswer
 

pour le moment je debug rien, j'ai pas encore compilé le module.  
 
J'en suis au questions prélimianires et recherche d'info sur la construction d'un drivers linux...

n°795777
fonsdel
Posté le 24-03-2006 à 18:23:15  profilanswer
 

hop hop pas trop vite gamin!!!
 
 
pour ceux que ca interesse: select() en mode noyau n'est pas disponible, pas plus que read ou write,  ou en tout cas pas comme cà!  
 
Y a du syscall qui traine, je cherche....

n°795792
Mjules
Modérateur
Parle dans le vide
Posté le 24-03-2006 à 19:30:49  profilanswer
 

J'y connais rien en programmation mais j'ai quand même une question :D
 
si ton soft marche très bien en userland, pourquoi vouloir le passer en module noyau où les contraintes sont quand même nettement plus grandes ?  
(en dehors de l'intérêt intellectuel)


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
n°795928
fonsdel
Posté le 25-03-2006 à 15:43:29  profilanswer
 

1°) Pour un souci de cohérence avec le reste de mon projet:  
=> j'ai une application principale qui gere user et affichage. Cette appli utilise plusieurs sources de donnée en provenance de capteurs electroniques donc obligation de développer des drivers!
=> Du coup le drivers GPS sur RS232 était pour moi un premier entrainement.  
 
 
 
Mais il est clair que si ca me faire perdre du temps, je vais me contenter de mon appli userland qui tournera dans un processus parallèle.

n°795930
kzimir
-
Posté le 25-03-2006 à 15:53:57  profilanswer
 

De mémoire, il faut jouer avec cli(), sti(), select_wait(), sleep_on() et wake_up()... C'est un peu loin pour moi, mais avec ça tu devrais trouver les tutos kivonbien


Message édité par kzimir le 25-03-2006 à 15:54:10

---------------
Serre les fesses jusqu'en 2012...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs

  comportement de select() dans un module noyau

 

Sujets relatifs
compilation module "hello world"Installation Quickcam Express sur noyau 2.6.8-2-686-SMP
Noyau OpenMosixMise à jour noyau pour red hat entreprise v3, risqué ou pas?
[résolu] - La prise en charge ntfs par le noyau de fc4 [résolu][noyau] Réglage du swap
Installer un modulemodule de configuration Samba webmin
noyau 2.6.15 ne veut pas demarrer : Kernel Panicprobleme compilation module conntrack RTSP
Plus de sujets relatifs à : comportement de select() dans un module noyau


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR