[Kos-dev] Nouvelles du jour
Thomas Petazzoni
thomas.petazzoni at enix.org
Tue Dec 28 23:25:41 CET 2004
Bonjour,
Plusieurs changements ce jour-ci dans KOS :
1) Incrémentation du numéro de version ;-)
Il s'agit ici d'un changement majeur, consistant à passer de la version
0.0.7 à la version 0.0.8. Dis comme ça, ça n'a l'air de rien, de quelque
chose d'insignifiant.
Mais c'est quand on sait qu'un changement de version n'était pas
intervenu depuis le 28 janvier 2001 que cette modification prend toute
son importance !
2) Commit du gros patch concernant vmap/rmap/pmm
Ce patch a été envoyé il y a quelques mois sur la liste, mais n'ayant
reçu aucun commentaire, je l'ai committé. Je ne sais pas si il résout
tous les problèmes, mais il essaie en tout cas d'en résoudre
quelques-uns, ceux identifiés à l'écriture du code.
Pour résumer le patch :
- La structure gpfme est maintenant privée (pmm/_pmm.h), et l'API PMM
a été complètement revue et corrigée. Les fonctionnalités non
nécessaires (ajout de pages physiques supplémentaires correspondant à du
matériel) ont été désactivées.
- Le système vmap/rmap a été revu pour fonctionner en 3 temps. Dans un
premier temps, on alloue les structures de données, dans un second temps
on réalise l'opération proprement dite (mapping/démapping) et dans un
dernier temps on libère les structures de données. Ce découpage devrait
permettre de mieux gérer la synchro au niveau de VMM.
- Les fonctions de arch/mm ne sont utilisées *que* par VMM et par
personne d'autre. Les autres modules doivent utiliser les fonctions de VMM.
- Pas mal d'explications dans x86/mm/_vmap.c et x86/mm/_rmap.c
3) Mise en place d'un mutex dans la structure address_space
Une première passe pour la mise en place du mutex tant attendu sur la
VMM a été faite. Je pense que ce n'est pas encore parfait, mais c'est
une première approche. Il faut encore :
- mettre en place le spinlock sur address_space quand on manipule les
tables de pages
- améliorer la gestion du #PF pour relacher la sémaphore quand on en a
pas besoin
- valider les problèmes de destruction de teams/threads en cours de route
Pour l'instant, le stress test VMM ne passe toujours pas.
4) Mise en place d'un système de macros DEBUG_PRINT1, DEBUG_PRINT2,
DEBUG_PRINT3
On peut maintenant sélectionner un niveau de verbosité pour chaque
module par l'intermédiaire de la variable DEBUG_LEVEL.
5) Utilisation de syncmail pour les logs CVS
Comme cvs-log.pl faisait des siennes et que j'avais pas envie de
débugger, j'ai mis syncmail à la place. C'est un script Python qui
envoie un mail pour chaque commit CVS. Il a l'avantage d'envoyer le diff
des modifications avec. Les logs CVS sont envoyés sur la liste kos-cvs
comme d'habitude.
6) Début de mise à jour de testingdocfr
J'ai commencé à mettre à jour cette documentation, il reste encore des
choses à faire en ce qui concerne qemu notamment.
Thomas
--
PETAZZONI Thomas - thomas.petazzoni at enix.org
http://thomas.enix.org - Jabber: thomas.petazzoni at jabber.dk
KOS: http://kos.enix.org/ - Lolut: http://lolut.utbm.info
Fingerprint : 0BE1 4CF3 CEA4 AC9D CC6E 1624 F653 CB30 98D3 F7A7
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 256 bytes
Desc: OpenPGP digital signature
Url : http://the-doors.enix.org/pipermail/kos-dev/attachments/20041228/7ad901f7/signature.pgp
More information about the Kos-dev
mailing list