Red Hat 内核显示“Clocksource tsc 不稳定”,但我正在使用 kvm-clock

Red Hat 内核显示“Clocksource tsc 不稳定”,但我正在使用 kvm-clock

我在 RHEV 主机上运行了几个虚拟化的 RHEL 6。主机和虚拟机的正常运行时间均超过 1 年。

直到最近两天,他们才开始偶尔随机抛出这些内核消息

kernel: Clocksource tsc unstable (delta = -17179878652 ns).  Enable clocksource failover by adding clocksource_failover kernel parameter.

很好:我会遵循建议。但奇怪的是,我没有使用 tsc 作为时钟源

[~]# cat /sys/devices/system/clocksource/clocksource0/current_clocksource 
kvm-clock

研究clocksource框架的文档时,我提出的问题比答案还多。

  1. 首先,为什么内核会抱怨系统不应该使用的时钟源?内核是否会循环使用所有可用的时钟源?如果是,那么原因是什么?

  2. 据我所知,该消息意味着当前时钟源与看门狗时钟源的偏差超过,WATCHDOG_THRESHOLD但当前看门狗时钟源是什么?它不可能是 kvm-clock,因为它通常已CLOCK_SOURCE_MUST_VERIFY设置。有没有办法在运行时显示它?

  3. 我知道 tsc 由于节流/省电功能而不被认为与现代 CPU 兼容,但/proc/cpuinfo它表明 VM 看到的处理器具有该constant_tsc标志。因此我认为 tsc 也可以提供相当可靠的计时。该标志是底层真实 CPU 的“旁路”还是只是一个模拟的 CPU,运行自己的计数器?在第一种情况下,我可以推测主机的调度程序将 VM 进程切换到具有漂移计数器的另一个核心。这有道理吗?

相关内容