Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Journal : High resolution timer sous Linux ?

Posté par brunus (page perso, ) le 23 mars 2004
Bonjour.

Y'a t'il sous linux un équivalent à la fonction gethrtime(); qui existe sous solaris.
Cela semble exister dans les systèmes RT Linux (realtime), mais j'aimerai savoir si il y a quelque chose d'équivalent sur un Linux standard.

Merci d'avance et bonne journée à tous.

> Lire le journal (3 commentaires, moyenne: 1,3).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Re: High resolution timer sous Linux ?

Posté par kolter (page perso, ) le 23/03/2004 à 12:46. (lien). Évalué à 1.

elle sert à quoi cette fonction ? j'ai pas de solaris sous la main...


M.

  • [^]Re: High resolution timer sous Linux ?

    Posté par Robert VISEUR (page perso, ) le 23/03/2004 à 12:56. (lien). Évalué à 1.

    à avoir une meilleure précision (de l’ordre de la nanoseconde).

Re: High resolution timer sous Linux ?

Posté par TheBreton () le 24/03/2004 à 11:37. (lien). Évalué à 2.

je connais pas gethrtime mais sous un linux std la notion de temps nano n'existe pas (en dehors du tick de scheduler qui varie d'une machine a l'autre).
Par contre, sur des machines de type Pentium et ulterieur, il existe un registre 64bits qui depend de la frequence du coeur qui s'incremente tous les tick micros (donc toute les x nano), il est possible de le lire au niveau kernel avec les macros assembleurs qui vont bien (le registre s'apelle TSC et est lu par les macro du fichier /usr/src/linux/asm/msr.h )
Par contre, la valeur du TSC n'est pas transmis au user space a ma connaissance.
Il est possible facilement d'ecrire un module qui le ferait mais le temps entre la lecture du registre et la prise en compte de la valeur par l'appli est inconnu, donc le temps lu serait faux.
c'est pour ca que la fonction n'as pas ete porté sans doute.
Et c'est aussi pour ca que chaque fonction temps-reel ce fait au niveau kernel et non-userspace.
J'ai repondu rapidement et j'espere avoir fais assez simple
y a des questions ?

--
Merde, ca fait trois fois que je le coupe il est toujours trop court!
-(un stagiaire hardware qui devait connaitre le grand pere de Sylvain Sauvage ;-) )-

Revenir en haut de page