Некорректная работа часов FreeBSD на vmware

vmware & freebsd

Несколько лет назад сталкивался с проблемой некорректной работы часов в ОС FreeBSD работающей на гипервизоре vmware.
Проявлялось это виде более быстрого или медленного течения времени в гостевой машине, по сравнению с реальным временем.
Лечится эта проблема параметром hint.apic.0.disabled=1 (sysctl) во FreeBSD (гостевая)

APIC — Advanced Programmable Interrupt Controller. Улучшенный программируемый контроллер прерываний.

Контроллер прерываний (interrupt), позволяющий использовать 24 аппаратных прерывания вместо 16. Ограничение в 16 аппаратных прерываний, не менявшееся с 1982 года, сдерживало установку в персональный компьютер дополнительных устройств. В конце 2001 года появились первые материнские платы с APIC.

Эта строчка отключит устройство APIC (не ACPI), при этом ядро не может быть запущено с поддержкой SMP (оно как бы и не нужно на виртуальной машине)

Система будет работать по обычным IRQ-прерываниям. Видимо, поддержка APIC кривовато реализована в vmware.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *