Journal High resolution timer sous Linux ?

Posté par  (site web personnel) .
Étiquettes : aucune
0
23
mar.
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.
  • # Re: High resolution timer sous Linux ?

    Posté par  (site web personnel, Mastodon) . Évalué à 1.

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


    M.
  • # Re: High resolution timer sous Linux ?

    Posté par  . É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 ?

Suivre le flux des commentaires

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