【发布时间】:2013-02-10 02:43:11
【问题描述】:
我是 Linux 内核的新手。 目前,我查看了空闲代码并有一个问题。 当处理器在自己的运行队列中没有任何任务时,它可能 进入空闲模式,特定的 WFI(等待中断)。 (我提到的只是关于 ARM 架构而不是 X86。所以 X86 有问题。) 停留在 WFI 状态后,可能其他处理器(非空闲)想要传播 他们的任务是空闲处理器(通过负载平衡)。当时一个繁忙的处理器 使任务迁移。在我看来,迁移任务时,空闲处理器 应该立即唤醒以处理任务。正确的?然而,我找不到 任何唤醒空闲处理器的代码,但只找到关于将任务注册到空闲处理器的运行队列的代码。
我想知道在给定新任务时唤醒处理器背后的机制是什么。 或者它只是将任务从一个队列移动到另一个队列,而不是让它直到被唤醒 一些不可预测的IRQ?
请告诉我真相:)
【问题讨论】: