Open NicolasFloquet opened 10 years ago
Il me semble qu'actuellement, les seules parties thread-safe sont les parties où on a désactivé les interruptions. Il y a en effet un effort à faire de ce côté là si on veut stabiliser le système. Je pense qu'on évite un paquet de bugs simplement parce que le système n'est pas surchargé.
Rien que là, je regardais le code de kmalloc, j'ose même pas imaginer ce qui se passe si on en exécute deux en parallèle -__-
Je poste ici car je me posais la question : qu'est-ce qu'il se passe concrètement quand on fait des cli et sti ? Est-ce que toutes les interruptions sont perdues ? Genre on perd les touches appuyées au clavier ? Si oui, ça renforce le besoin de mutex...
Tu veux remplacer des cli/sti par des mutexes?
J'ai surtout l'impression que nous avons parfois utilisé cli/sti pour palier le manque de mutex mais sans réelle raison.
Bah j'ai pas l'impression justement, si tu fais une recherche de "sti" sur le projet, on s'en sert vraiment que dans des cas très particulier...
C'est vrai, je pensais que c'était plus fréquent. Faut dire, ces derniers jours j'ai bossé principalement sur les seuls fichiers contenant des "sti" et "cli", ma vue est biaisée.
Je me demande actuellement comment on peut être certain que tous nos appels systèmes, et toutes les fonctions kernel/driver qui en découlent, soient thread-safe. Un système de mutex serait hautement nécessaire afin de définir des sections critiques.