Chinaunix

标题: SMP 中不同的 cpu 是如何同步 tsc 的? [打印本页]

作者: wait_rabbit    时间: 2016-05-11 11:00
标题: SMP 中不同的 cpu 是如何同步 tsc 的?

假设 cpu flags 有 constant_tsc。

我理解的启动过程如下:

launch cpu 0,set tsc0 to 0

blablablabla 。。。。some delay

launch cpu 1,set tsc1 to 0

blablablabla 。。。。some delay

launch cpu 2,set tsc2 to 0

这样的话,三个 cpu 之间的 tsc 数值必定不一样(只是增速相同)。但是我翻好多资料,都没有提到这茬儿。所以我怀疑,在同一时刻,它们的值理论上应该是相同的?

是否有某种 signal,可以让 cpu 的 tsc 一起重新置 0?



作者: 我爱你我的菜    时间: 2016-05-11 11:10
http://bbs.chinaunix.net/thread-2081026-1-1.html
作者: wait_rabbit    时间: 2016-05-11 11:13
我爱你我的菜 发表于 2016-05-11 11:10
http://bbs.chinaunix.net/thread-2081026-1-1.html


多谢。

找到一篇这个:

http://oliveryang.net/2015/09/pitfalls-of-TSC-usage/


    Sync among multiple CPU sockets on same main-board

After CPU supports “Invariant TSC”, most recent SMP system could make sure TSC got synced among multiple CPUs. At boot time, all CPUs connected with same RESET signal got reseted and TSCs are increased at same rate.




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2