我一直在使用Linux Kernel 4.19.2。
在某些功能中,例如generic_exec_single(),需要在线安装CPU。通过功能cpu_online()进行检查。
但是我尝试在各个阶段打印cpu_online()函数的输出,例如,时间0.27的dmesg输出给出0,而时间0.33的dmesg输出给出1。
输出似乎不一致,因为我觉得即使在执行第一个任务之前,所有cpus都应该在线。不是吗?
cpu在线到底是什么意思?当系统启动时,何时达到该状态?
答案 0 :(得分:0)
好吧,仔细查看内核代码,可以发现在启动内核和内核“宣布”它们处于联机状态之间存在差异。它使用功能do_boot_cpu()和announce_cpu()来实现。