[SOS] Probleme de paramétrage du PIT 8254...

Romain LABBE labbe.romain at wanadoo.fr
Ven 18 Nov 16:53:14 CET 2005


Salut,

Bon j'ai cherché et cherché pour mon probleme de resultat: PC vs
emulateur, avec un meilleurs résultat sur l'émulateur !

En fait le probleme ce reproduit comme en réalité sur Qemu, j'ai donc 2
résultats differents sur 2 émulateurs différent au niveau de la gestion
du temps. Bon c'est pas grave je continue sur Qemu (je regarderais les
parametres de boshs).
Durant mon investigation je me suis rendu compte que la mecanique marche
bien, mais que si je change la frequence des interruptions du timer 1 du
PIT 8254 cela ne change rien.

J'ai repris le type de gestion de temps "à la SOS"  mais pas à la
nanoseconde, mais à la micro seconde. donc j'avais paramétré 100 Hz au
timer hard et 10 ms de résolution. (10*100 = 1sec)

J'ai donc repris le drivers du PIT de SOS(stricto) et tjrs rien, ce
timer ne veut rien savoir...

Comme rien y fait de changer la frequence du timer, j'ai modifié la
résolution de mon gestionnaire de temps système:
J'ai cherché empiriquement, j'ai fais 2 threads, un qui affiche "1 sec"
et s'endore 1 sec, et un autre qui affiche "4 sec" et s'endore 4 sec,
etc ainsi de suite.

J'arrive à une résolution de 50 ms pour que la seconde soit une vrai
seconde.
j'ai donc 1000/50 = 20, j'en conclue que mon timer est calé a environs
20 Hz et ne veut pas en démordre !

Cela fait la meme chose sur 3 PC (vrai) !

Quelqu'un a une idée ?

Sur SOS ou KOS vous avez déjà remarqué ce probleme ?

Je met mon source ici:
http://www.hexanium.com/zumba/zumba.zip
( .bat style.. :D )

Merci beaucoup

A++

Romain

PS:
Avec ces valeurs j'arrive a faire tourner mon appli, zball avec 400
zballs ( 402 threads ) et le fonctionnement à l'air coherent et stable.
http://www.hexanium.com/zumba/zballs/zball400.jpg
Bon au bout d'un moment avec un algo trop simple et trop peut de place
y'a des zballs qui se coincent à coté de l'air d'arrivé des nouvelles
zballs, mais je pense que mes semaphores, waitq et mon "pauvre"
scheduler de thread fonctionnent correctement, j'ai vraiment un probleme
de temps avec ce PIT !




Plus d'informations sur la liste de diffusion Sos