[Kos-dev] Implémentation des sé
maphores dans FreeBSD
Thomas Petazzoni
kos-dev@enix.org
Tue, 27 May 2003 09:11:57 +0200
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enigBCF93368116DC624BD056453
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: 8bit
Hello,
> Certes, mais puisqu'elle reveille, elle doit mettre des choses dans
> cpu_waitqueue -> locker qqch.
Oui, bien sûr, mais là c'est une fonction du scheduler genre
add_thread_to_cpu_waitqueue, qui prend le lock cpu_waitqueue_lock (ou
scheduler_lock), ajoute le thread, et relache le lock.
Ce que je voulais dire, c'est que cette fonction n'étant pas bloquante,
on avait pas besoin de relacher le semaphore_global_lock, le
mutex_global_lock, ou je ne sais quoi.
> Thomas> Or, pour relacher le lock, on utilise des macros
> Thomas> spin_unlock qui prennent 2 arguments : le lock, et les
> Thomas> flags. Et les flags, il faut pas qu'on les sortes de
> Thomas> n'importe ou, donc faut que le mec nous les passe en
> Thomas> argument.
>
> Oui, a voir au niveau de l'implantation, c'est peut-etre pas
> necessaire.
Bin si tu dois relacher le lock proprement, il faut pas se gourer dans
les flags, non ?
J'ai pas encore tout à fait les idées claires sur ce point là,
j'aimerais qu'on approfondisse un peu pour qu'ensuite on puisse
l'implémenter (dans pas trop longtemps de préférence).
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
--------------enigBCF93368116DC624BD056453
Content-Type: application/pgp-signature
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQE+0w+99lPLMJjT96cRAl7PAJ0VBvp8i3LyV2LoFxQ8xfbsG4PTOQCgp2VR
fKfPeGRIUPKJl6+urKtekpE=
=RGgl
-----END PGP SIGNATURE-----
--------------enigBCF93368116DC624BD056453--