[Kos-dev] Code non-intrusif pour Bochs

d2 kos-dev@enix.org
28 May 2003 09:46:33 +0200


Pour la race condition : l'idee est de tester le eflags du nouveau
thread avant le iret. Et de verifier aussi que le eflags du thread
courant est avec IE a 0 tant qu'a faire. Quand a avoir remarque que IE
est a 1 tres tot sans pour autant que ca plante : c'est bon tu l'as
trouve le probleme ! Ca plante pas parce que la section doit etre
relativement courte et que la proba d'avoir une IT dans cette section
est faible. Mais le bug est la quand meme, et faudrait regler CE
probleme la, ie  corriger le fait que IE se retrouve a 1 !

Pour bochs, le SMP simule n'est pas un vrai SMP je pense. Ca doit etre
du multi-proc cooperatif : a vue de nez on fait qqch comme du
round-robin sur les x procs a chaque instruction, et on fait avancer
le temps qd on a fait le tour des x procs. En interdisant a la fois
l'ecoulement du temps et les switches d'un proc a l'autre pendant la
section non intrusive on doit s'en sortir, non ? A verifier...

-- 
d2