2016-04-06 1 views
0

J'ai deux machines, une machine x86 avec la valeur HZ 1000, l'autre machine embarquée avec la valeur 250 de HZ. Si j'utilise des minuteurs de noyau sur les deux machines, avec timer.expires = msecs_to_jiffies (x), Alors maintenant l'heure d'expiration sera le même 'x' milli secondes sur les deux machines ou avons-nous besoin de soins particuliers dans ces cas.HZ Linux valeur différente dans deux plates-formes se comportera différemment avec les minuteurs du noyau?

+1

Examinez le contenu de **/proc/timer_list ** pour obtenir la résolution des minuteurs sur chaque système. – sawdust

Répondre

2

Si vous utilisez des minuteurs haute résolution (configuration du noyau), les minuteurs du noyau l'utilisent et vous obtiendrez un résultat correct.
Si vous n'utilisez pas de minuteries HR, sur le système HZ = 250, la tranche de temps minimale est de 4 ms. Donc, si vous dormez moins, vous vous réveillerez au prochain horaire. Par exemple, si vous exécutez une boucle 1000 fois pendant 1ms, la boucle se termine après 4 sec.