[Kos-dev] synchro en SMP
Thomas Petazzoni
kos-dev@enix.org
Wed, 04 Jun 2003 18:12:45 +0200
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig2B6E0DAB4D23DFA5527CDDCF
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Bonjour,
> Oui, j'avais aussi pense rajouter un parametre "callback" (ie une
> fonction + 1 parametre a la fonction) qui serait appelee apres avoir
> change la pile, et qui ferait ce qu'on demande (suppr thr ou
> unlock). Mais a la reflexion c'est pas forcement interessant parce que
> on n'a jamais besoin de delete_pending_thread dans
> cpl0_switch_with_return, et on n'a jamais besoin de unlock_ dans
> cpl0_switch_no_return : ie on a toujours le meme profil de
> fonctionnement, non interchangeable entre les 2. Comme d'hab ca se
> discute...
Je pense qu'il va quand même falloir se décider pour une solution un
jour. L'histoire de relacher le lock au milieu de
cpl0_switch_with_return est je pense acceptable, mais à ce moment la, je
souhaite que { semaphore, mutex, mailbox } soient non pas dans le module
kitc, mais dans le module scheduler. Les interactions entre ces machins
sont trop fortes, et surtout peu claires.
Il faut ensuite espérer qu'on arrivera à tirer de notre expérience une
façon de séparer le coeur décisionnel du scheduler, le truc qui vraiment
élit le prochain thread de manière a pouvoir le modulariser. Ceci dit,
je ne sais pas si c'est très simple, car il faut pas mal d'infos au
scheduler pour prendre des décisions potables d'ordonnancement (et
notamment des informations concernant la prise de lock que ce soit
sémaphore ou mutex, ou alors des informations concernant les I/O). Enfin
bref, personnellement je ne connais pas l'étendue des informations
utilisées par un scheduler intelligent, donc j'ai du mal à voir la
portée de la chose.
Thomas
--
PETAZZONI Thomas - thomas DOT petazzoni AT enix DOT org - UIN : 34937744
Web: http://www.enix.org/~thomas/
KOS: http://kos.enix.org/ - Lolut: http://lolut.utbm.info
Fingerprint : 0BE1 4CF3 CEA4 AC9D CC6E 1624 F653 CB30 98D3 F7A7
--------------enig2B6E0DAB4D23DFA5527CDDCF
Content-Type: application/pgp-signature
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQE+3hp99lPLMJjT96cRAt07AJ4s0+cmD1MfMPwyZkHgmBsBuMOKGACdGJxz
8St5crIS6idPV7b+38iWtmU=
=0UY4
-----END PGP SIGNATURE-----
--------------enig2B6E0DAB4D23DFA5527CDDCF--