【发布时间】:2015-07-12 13:29:23
【问题描述】:
我公司产品的BIOS调试不稳定的tsc问题后,我怀疑当唯一的其他时钟源是jiffies时,tsc可能总是不稳定。
我得到了类似的错误
Clocksource tsc unstable (delta = -531266231 ns). 然后内核选择了 tsc 以外的 jiffies。
仅有的两个时钟源是 tsc 和 jiffies。
我用 i386 和 x64 尝试了 Linux 内核 2.6 和 3.2。内核说CPU其实支持constant tsc和invariant tsc。
查看Linux源代码后,我发现tsc有一个标志CLOCKSOURCE_MUST_VERIFY,而jiffies没有。我猜如果只有两个时钟源,jiffies 和 tsc,那么 jiffies 将是时钟源看门狗。
但是,与 tsc 相比,jiffies 是一个非常差的时钟源,因此我怀疑这种情况下的 tsc 将始终“不稳定”,因为有一个糟糕的看门狗来验证它。
我还检查了其他一些运行良好的 tsc 系统,发现它们还有其他时钟源,如 Hpet 或 acpi_pm。
因此,我如何判断 tsc 不稳定是由 jiffies 还是其他地方的错误导致的?
【问题讨论】:
-
今天我用最少的安装测试了 CentOS 6.6 i386 镜像。内核默认具有三个时钟源:tsc、acpi_pm 和 jiffies。 Clocksource tsc 是正在使用的。