[Kos-dev] Reentrance de reschedule : un solution ?

Thomas Petazzoni kos-dev@enix.org
Mon, 25 Jun 2001 20:16:32 +0200


>     Thomas> okay la je comprends mieux. pourrais-tu mettre a jour
>     Thomas> draft-0 avec toutes les precisions apportees dans ce mail
>     Thomas> (concernant l'exemple d'un machin non reentrant,
>     Thomas> concernant cette explication, et d'autres) ?
> Peut-etre.

oula c'est un petit peut etre ca !

> Pour etre honnete, c'est pas evident.
> 
> En gros, ce que je crains, c'est qu'un pauvre thread qui n'a rien
> demande et qui se fait interrompre par une ISR qui bloque, va se
> retrouver bloque lui aussi alors qu'il a rien demande. Si ce thread
> effectue des gros calculs (ie ne bloque jamais), c'est idiot de le
> bloquer, et partant de l'empecher de faire ses calculs alors qu'il
> pourrait tres bien les faire. Bref, je crains une sous-utilisation du
> processeur (d'avantage visible en SMP).

okay donc ce que tu disais c'est que un BH n'est pas un thread a lui
seul, il s'execute dans le contexte processeur (et donc consomme du
temps) du thread interrompu.
effectivement, moi je pensais deja qu'un BH c'etait un thread propre qui
faisait que ca, mais toi tu as deporte ca sur les threads mandataires.
Pourquoi pas, mais je me demande si separer BH et thread mandataire a
vraiment un interet ?

>     Thomas> necessite de ton systeme des ipl, pourrais-tu le preciser
>     Thomas> ?
> 
> cli/sti = blocage binaire des IRQ + on perd les interruptions pdt
> cette periode.
> L'idee, c'est qu'avec le mecanisme plus fin des IPLs, on remplace les
> cli/sti par un mecanisme de memorisation des ISR qui ont eu lieu, pour
> en tenir compte soit immediatement (priorite plus forte que l'ipl
> courant), soit plus tard (priorite plus faible). Ca a peut-etre encore
> plussssse son interet dans les BH : puisqu'a ce moment on devient
> interruptible, mais on peut selectionner par quoi on peut etre
> interrompu (on retarde les IRQ qu'on veut). Un autre interet, c'est aussi
> qu'on peut "personnaliser" les priorites des interruptions (on peut
> deja le faire par d'autres moyens, mais bon).

a priori je vois pas trop l'interet des ipl par rapport aux priorites du
PIC, mais je ne vois peut etre pas bien ?

thomas
-- 
PETAZZONI Thomas
thomas.petazzoni@meridon.com     UIN : 34937744
Projet KOS : http://kos.enix.org
Page Perso : http://www.enix.org/~thomas/