如init/main.c: setup_kernel
/* Disable preemption - early bootup scheduling is extremely
fragile until we cpu_idle for the first time*/发布于 2014-05-05 03:10:44
内核中的抢占允许在完成之前抢占内核代码。当时,虽然调度程序已经启动,但内核的许多部分尚未配置或安装,因此start_kernel()确保即使在启动定时器中断时也会禁用抢占,这将确保关键的安装任务在完成之前不会被抢占。
一旦cpu_idle任务运行,如果我正确地读取源代码,所有必要的早期初始化任务都会完成,并且可以重新启用抢占。
https://stackoverflow.com/questions/23423608
复制相似问题