0
void cpu_idle (void)
{
    /* endless idle loop with no priority at all */

    while (1) {
        void (*idle)(void) = pm_idle;
        if (!idle)
            idle = default_idle;
        if (!current->need_resched)
            idle();
        schedule();
        check_pgt_cache();
    }
}

此代码存在于:与 linux 2.4.18-14 相关的“arch/i386/kernel/process.c”

此代码负责(cpu 空闲循环)。

问题是:我可以用 bust wait 更改 while(1) 循环吗?

4

1 回答 1

1

此处的循环正确调度进程,以便系统继续正常运行。当 cpu 空闲时,切换到纯忙等待会锁定系统,这意味着其他进程将停止调度。你绝对不希望那样。

于 2016-05-03T15:54:58.600 回答