[Kos-dev] "Race condition" 1
Thomas Petazzoni
kos-dev@enix.org
Mon, 26 May 2003 14:00:51 +0200
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig74BC1E3B466CD6F4B7896DA1
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: 8bit
Hello,
> Je fatigue aussi, je ne me souvenais plus, et j'ai pas regarde avant
> d'ouvrir ma grande gueule...
Arf, pas grave, on est tous les deux un peu creve je crois ;-)
> Oui, faudrait reflechir. Et tant qu'on y est : un assert a rajouter
> dans wq_add_unsafe : ASSERT(! test_interrupts_enabled()); important
> pour etre sur de detecter si on fait des bloquages dans les ISR (y'a
> des chances qu'on s'en apercoivent tres vite, mais autant que ce soit
> explicite).
Effectivement, il faudrait ajouter ce test, mais je vois pas en quoi ça
permettrait de détecter qu'on fait des blocages dans les ISR. A priori
les interruptions sont désactivés dans un ISR, donc ton test passera.
Par contre il faudrait faire un ASSERT(get_hw_isr_nested_level() == 0);
pour être sur qu'on est pas dans une interruption.
> Il faut surement recuperer le lock qu'on a laisse tomber. Comment ? la
> est la question : y'a surement des trucs atomiques a garantir : tel
> quel (ie avec le lock de l'autre spinlock) en Unipro ca risque de
> marcher (le unlock est remote, donc irq tjs disabled), mais en
> SMP... Faudrait regarder les autres OS, ca doit etre tout simple a
> faire.
Ouaip, ça doit être tout simple, mais je ne sais pas comment le faire
;-) Et puis regarder dans les autres OS, oui, mais ça doit être perdu au
fin fond des sources, dans un endroit quasiment introuvable...
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
--------------enig74BC1E3B466CD6F4B7896DA1
Content-Type: application/pgp-signature
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQE+0gHz9lPLMJjT96cRAsMRAJ0bmldeWuf69+RHCYqFl3L9ztcxVgCgxjOw
ygt6A+bFSF71Xu1dhQ6ktRU=
=Sq2K
-----END PGP SIGNATURE-----
--------------enig74BC1E3B466CD6F4B7896DA1--