[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