Что влияет изменение источника 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.

  • Grub показывает Forcepae не найден, ОС зависает во время загрузки
  • Как извлечь таблицы ACPI из .ISO-файла?
  • Что контролирует выключение во время перегрева в Linux
  • Отключение гашения экрана в GNOME 3
  • xfce4-power-manager не обновляется; ACPI обнаруживает неизвестную батарею, но работает нормально?
  • Почему пространство имен ACPI продолжает меняться
  • Не удалось загрузить арку из-за ошибки acpi bios
  • Нормально ли, что модалия соответствует различным устройствам?
  • Как увеличить срок службы батареи в Fedora 15?
  • Как читать температуру процессора на общем сервере?
  • dmar: Не удалось найти дескриптор объекта ACPI
  • Linux и Unix - лучшая ОС в мире.