进程调度:内核如何更新当前正在运行的进程的need_resched标志?

我们认为在 SMP 环境中,正在执行的进程P当前处于“ 进程上下文”或“ 中断上下文” ”,现在完成任务后,同时返回用户空间(从中断处理程序系统调用)或返回内核空间(从中断处理程序),它检查是否设置了 need_resched 标志,如果发现设置了该标志,则将调用 scheduler 来分配一个在当前处理器上运行的进程。

我无法理解的是,如何/谁设置了 need_resched 标志?因为此标志在每个进程中都是本地的。

很明显,由于当前处理器忙于执行当前进程P,因此当前处理器无法更新 need_resched 标志。在这种情况下,在另一个处理器上执行的代码如何在进程P中更新该标志? / p>

平台:x86上的Linux

zhoujintangjob 回答:进程调度:内核如何更新当前正在运行的进程的need_resched标志?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3129323.html

大家都在问