CPU何时真正上线?

时间:2019-04-04 06:26:13

标签: linux-kernel

我一直在使用Linux Kernel 4.19.2。

在某些功能中,例如generic_exec_single(),需要在线安装CPU。通过功能cpu_online()进行检查。

但是我尝试在各个阶段打印cpu_online()函数的输出,例如,时间0.27的dmesg输出给出0,而时间0.33的dmesg输出给出1。

输出似乎不一致,因为我觉得即使在执行第一个任务之前,所有cpus都应该在线。不是吗?

cpu在线到底是什么意思?当系统启动时,何时达到该状态?

1 个答案:

答案 0 :(得分:0)

好吧,仔细查看内核代码,可以发现在启动内核和内核“宣布”它们处于联机状态之间存在差异。它使用功能do_boot_cpu()announce_cpu()来实现。