Как Chronyd замедляет / ускоряет часы?

Я читаю это: https://chrony.tuxfamily.org/manual.html

В нем упоминается: "Обычно хронид заставляет систему постепенно корректировать любое смещение времени, замедляя или ускоряя часы по мере необходимости". Большинство машин Linux используют TSC в качестве источника: $ cat /sys/devices/system/clocksource/clocksource0/current_clocksource tsc

Учитывая, что машина использует TSC в качестве источника тактовой частоты, а новые процессоры Intel имеют инвариантную TSC, как хронология может замедлять или ускорять тактовую частоту? Означает ли это, что он просто корректирует часы без настройки TSC, поскольку TSC не регулируется? Я уверен, что неправильно понял документ.

Благодарю.

1 ответ

Решение

Системные часы Linux не так просты, как просто передать необработанное значение TSC как есть.

Есть немного кода ядра, который вычисляет, сколько тиков TSC приходится на единицу времени, и замедление и ускорение системных часов осуществляется путем манипулирования этим преобразованием.

Другие вопросы по тегам