TSC нестабильное переключение на hpet
Текущий источник синхронизации - это hpet, который просто не работает с приложениями, которые я пытаюсь запустить, и acpi_pm выдает те же ошибки. Мне нужен TSC для работы. Я уже отключил intel_pstate и установил аварийное переключение на acpi_pm. Что еще я могу попытаться заставить TSC работать снова?
May 4 17:49:18 Ubuntu-1404-trusty-64-minimal kernel: [ 0.083468] TSC deadline timer enabled
May 4 17:49:18 Ubuntu-1404-trusty-64-minimal kernel: [ 0.083475] Performance Events: PEBS fmt1+, 16-deep LBR, SandyBridge events, full-width counters, Intel PMU driver.
May 4 17:49:18 Ubuntu-1404-trusty-64-minimal kernel: [ 0.083778] ... version: 3
May 4 17:49:18 Ubuntu-1404-trusty-64-minimal kernel: [ 0.083838] ... bit width: 48
May 4 17:49:18 Ubuntu-1404-trusty-64-minimal kernel: [ 0.083900] ... generic registers: 4
May 4 17:49:18 Ubuntu-1404-trusty-64-minimal kernel: [ 0.083961] ... value mask: 0000ffffffffffff
May 4 17:49:18 Ubuntu-1404-trusty-64-minimal kernel: [ 0.084023] ... max period: 0000ffffffffffff
May 4 17:49:18 Ubuntu-1404-trusty-64-minimal kernel: [ 0.084086] ... fixed-purpose events: 3
May 4 17:49:18 Ubuntu-1404-trusty-64-minimal kernel: [ 0.084146] ... event mask: 000000070000000f
May 4 17:49:18 Ubuntu-1404-trusty-64-minimal kernel: [ 0.085580] x86: Booting SMP configuration:
May 4 17:49:18 Ubuntu-1404-trusty-64-minimal kernel: [ 0.085642] .... node #0, CPUs: #1
May 4 17:49:18 Ubuntu-1404-trusty-64-minimal kernel: [ 0.099367] TSC synchronization [CPU#0 -> CPU#1]:
May 4 17:49:18 Ubuntu-1404-trusty-64-minimal kernel: [ 0.099489] Measured 493618680 cycles TSC warp between CPUs, turning off TSC clock.
May 4 17:49:18 Ubuntu-1404-trusty-64-minimal kernel: [ 0.008000] tsc: Marking TSC unstable due to check_tsc_sync_source failed
2 ответа
Ваша ситуация выглядит несколько иначе, чем моя, действуйте с осторожностью. Я говорю, что не знаю, стоит ли вам форсировать использование tsc или нет. Прежде чем пытаться переопределить, вы должны попытаться понять, почему вы получили нестабильное сообщение.
Вы можете принудительно использовать tsc с параметром командной строки в grub. Сначала сохраните копию вашего текущего файла grub:
sudo cp /etc/default/grub /etc/default/grub.original
Затем используйте предпочитаемый вами редактор в режиме sudo (я использую nano):
sudo nano /etc/default/grub
И изменить GRUB_CMDLINE_LINUX_DEFAULT
линия:
GRUB_CMDLINE_LINUX_DEFAULT="clocksource=tsc"
Сохраните файл и затем:
sudo update-grub
Перезагружать.
Пример перед изменением (/var/log/kern.log
выдержка):
May 5 07:06:36 test-smy kernel: [ 11.222717] Clocksource tsc unstable (delta = 88022463 ns)
May 5 07:06:36 test-smy kernel: [ 11.300602] Switched to clocksource pit
May 5 07:06:36 test-smy kernel: [ 11.383987] 8139too: 8139too Fast Ethernet driver 0.9.28
Пример после изменения:
May 5 07:27:02 test-smy kernel: [ 11.672507] Clocksource tsc unstable (delta = 91987678 ns)
May 5 07:27:02 test-smy kernel: [ 12.149995] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
А также:
$ cat /sys/devices/system/clocksource/clocksource0/current_clocksource
tsc
Ссылка
Кстати, это никак не может быть связано с включенным или отключенным драйвером intel_pstate.
тл.др. "Вы пробовали выключить и снова включить?" ;)
--
Спасибо @Dough Smythies за идеи и инструкции!
У меня аналогичная проблема на виртуальной машине в Proxmox. ВМ просто выключается сразу после того, как dmesg жалуется на нестабильную синхронизацию. Эта виртуальная машина работала нормально с настройкой сквозного доступа к графическому процессору и установленной Ubuntu 22.04 почти год, но после установки 20.04 (для установки стабильной версии HTCondor) это начало происходить... Поэтому я не решался изменить настройки proxmox и vm, и изменение GRUB кажется самым быстрым.
grep "model name" /proc/cpuinfo
является:model name : 11th Gen Intel(R) Core(TM) i5-11400 @ 2.60GHz
[ 101.133995] clocksource: timekeeping watchdog on CPU0: hpet retried 2 times before success
[ 103.453440] clocksource: timekeeping watchdog on CPU5: hpet read-back delay of 10086670ns, attempt 4, marking unstable
[ 103.453459] tsc: Marking TSC unstable due to clocksource watchdog
[ 103.453512] TSC found unstable after boot, most likely due to broken BIOS. Use 'tsc=unstable'.
[ 103.453512] sched_clock: Marking unstable (103581349355, -127782148)<-(103605679503, -152167759)
[ 103.453717] clocksource: Override clocksource tsc is unstable and not HRT compatible - cannot switch while in HRT/NOHZ mode
[ 103.462461] clocksource: Switched to clocksource hpet
[ 106.842934] hrtimer: interrupt took 88385244 ns
Как указано выше, источник часов хотел, чтобы я переключился на
hpet
, поэтому я только что обновил grub ниже.
GRUB_CMDLINE_LINUX_DEFAULT="clocksource=hpet"
выше не сработало, vm все еще падает ... затем я попробовал комбинацию ниже ... все еще не сработало ...
GRUB_CMDLINE_LINUX_DEFAULT="clocksource=hpet tsc=unstable trace_clock=local"
тем временем, пришлось начать очищать журнал сsudo journalctl --vacuum-time=1h
...
В итоге получается, что получилось? Перезагрузка физической машины/Proxmox!