Что влияет изменение источника clocksource?

Выходные данные cat /sys/devices/system/clocksource/clocksource0/available_clocksource перечисляют доступные аппаратные часы.

Я изменил часы, без видимых различий. sudo /bin/sh -c 'echo acpi_pm > current_clocksource'

Каковы практические последствия изменения аппаратных часов? Есть ли способ проверить разрешения (или некоторые другие видимые изменения) доступных часов?

2 Solutions collect form web for “Что влияет изменение источника clocksource?”

Ну, во-первых, ядро ​​выбирает лучший из них автоматически, обычно это TSC, если он доступен, потому что он поддерживается процессором, и он очень быстрый (RDTSC и чтение EDX: EAX).

Но это не всегда так, в первые дни, когда системы SMP были в основном построены с использованием нескольких дискретных процессоров, очень важно, чтобы процессор, который был «равным», насколько это было возможно (идеальное соответствие модели, скорости и степпинга) , но даже тогда иногда случалось, что одно было заметно быстрее, чем другое, поэтому счетчик TSC между ними был «неустойчивым», поэтому он позволил изменить его (или отключить его с помощью параметра «notsc» ядра). И даже с этими ограничениями TSC остается лучшим источником, но ядро ​​должно проявлять большую осторожность, чтобы полагаться только на один процессор в многоядерных системах или активно пытаться синхронизировать их, а также принимать во внимание такие вещи, как suspend / resume (it сбрасывает счетчик) и масштабирование частоты процессора (влияет на TSC в некоторых моделях процессора).

Некоторые люди в те ранние годы SMP даже построили системы с процессором различной скорости (вроде новой архитектуры BIG.little), что создало большие проблемы в области хронометража.

Что касается способа проверки разрешений, у вас есть clock_getres (), и у вас есть пример здесь .

И еще пара дополнительных ссылок: официальный документ doc (есть и другие интересные файлы в этом каталоге) и повторная синхронизация TSC в хромовых книгах с некоторыми бенчмарками разных источников.

Короче говоря, не должно быть видимых изменений в пользовательском пространстве при изменении источника clocks, а только медленнее gettimeofday () .

Аппаратные часы – это часы, которые запускаются независимо от любой программы управления, работающей в ЦП, и даже когда питание машины отключено.

Системное время – это время, поддерживаемое часами внутри ядра Linux.

Некоторые программы и периферийные части ядра Linux, такие как файловые системы, используют значение часового пояса ядра. Примером может служить файловая система vfat. Если значение часового пояса ядра неверно, файловая система vfat будет сообщать и устанавливать неверные метки времени для файлов.

Вы можете использовать команду hwclock для просмотра времени аппаратного времени с помощью: hwclock –show

Вы также можете синхронизировать системное время с временем аппаратного времени и наоборот, используя флаги –systohc и –hctosys.

  • Проблема ACPI с последними ядрами
  • Как отключить Wi-Fi и Bluetooth-клавиатуру в GNOME?
  • Предупреждения ACPI в Debian 8 о сбоях питания ASUS EEEPC 1018P
  • Понимание кодов пробуждения ACPI / DSDT (таблица характеристик дифференцированной системы) BIOS Thinkpad T430s
  • xfce4-power-manager не обновляется; ACPI обнаруживает неизвестную батарею, но работает нормально?
  • Что делают параметры ядра acpi_osi = linux и acpi_backlight = vendor?
  • Acpitool нет информации
  • Загрузка с acpi_osi = Linux исправляет управление вентилятором, но разрывает клавиши яркости
  • Запуск gui из события acpi
  • В чем разница между udev и acpi (d)
  • Яркость на моем Lenovo SL510 составляет всего 100% и 0%?
  • Linux и Unix - лучшая ОС в мире.