小编Mic*_*Lee的帖子

当新任务创建时,linux内核如何唤醒处理器?

我是Linux Kernel的新手.目前,我查看了闲置代码,并提出质疑.当处理器在他们自己的runqueue中没有任何taks时,它可能进入空闲模式,特定WFI(中断的wating).(我所提到的只是ARM体系结构而不是X86.所以X86有些问题.)在保持WFI状态之后,也许其他处理器(非空闲)想要将他们的任务分散到这个空闲处理器(通过负载平衡).那时繁忙的处理器使任务变得很有意义.在我看来,当任务被移植时,空闲处理器应该唤醒immidiatley来处理任务.对?但是,我找不到任何唤醒空闲处理器的代码,但只找到了关于将任务注册到空闲处理器的runqueue的代码.

我想知道在给出新任务时唤醒处理器背后的机制是什么.或者它只是将任务从一个队列移动到另一个队列而不是让它被一些不可预测的IRQ唤醒?

请告诉我真相:)

kernel arm scheduler irq

5
推荐指数
1
解决办法
2998
查看次数

标签 统计

arm ×1

irq ×1

kernel ×1

scheduler ×1