2016-04-06 2 views
0

У меня две машины, одна машина x86 с значением HZ 1000, другая встроенная машина с значением HZ 250. Если я использую таймеры ядра на обеих машинах, с timer.expires = msecs_to_jiffies (x), Итак, теперь время истечения срока действия будут равны «x» миллисекунд на обеих машинах или нам нужна особая осторожность в этих случаях.Значение HZ linux, различающееся на двух платформах, будет отличаться от таймеров ядра?

+1

Изучите содержимое **/proc/timer_list **, чтобы получить разрешение таймеров в каждой системе. – sawdust

ответ

2

Если вы используете таймеры с высоким разрешением (конфигурация ядра), то таймеры ядра используют его, и вы получите правильный результат.
Если вы не используете таймеры HR, тогда в системе HZ = 250 минимальный срез времени составляет 4 мс. Поэтому, если вы спите меньше, вы проснетесь на следующий таймлис. Например, если вы запустили цикл 1000 раз, спящий за 1 мс, цикл завершится через 4 секунды.

 Смежные вопросы

  • Нет связанных вопросов^_^