TIF_NEED_RESCHED做什么?

时间:2013-09-02 18:25:54

标签: linux-kernel

Linux调度程序(比如CFS)中 TIF_NEED_RESCHED 的目的是什么?在编写新的调度类的情况下,可以使用此标志吗?如果是,该标志在何处以及如何用于新的调度类?

5 个答案:

答案 0 :(得分:1)

TIF_NEED_RESCHED是其中一个主题信息flags。它告诉在中断和用户空间返回路径时需要调用schedule。请参阅__schedule功能说明here ...

答案 1 :(得分:0)

我认为如果你重写调度程序,你可以使用这个标志作为值,但你将实现你的工作。

答案 2 :(得分:0)

TIF_NEED_RESCHED设置为发出信号,表示通常正在运行的任务需要重新计划,以便使运行任务的核心可用于其他任务。换句话说:如果已确定任务已使用其时间片并且应优先执行,则设置TIF_NEED_RESCHED标志。由于某些原因,在两个不同的时机和时间点都设置标志并实际抢占任务。例如,可以在中断的处理程序中设置该标志,但实际的重新安排是在稍后的时间进行的。

侧节点:TIF代表“线程信息标志”。

答案 3 :(得分:0)

为活动进程设置了

TIF_NEED_RESCHED,该活动进程需要先占,以便从队列中调度另一个进程(或空闲进程)。 在每个系统滴答声中,都会调用check_preempt_tick()来检查任务是否运行了足够长时间,从而为需要的另一个进程提供了公平的机会。然后,它调用resched_curr来设置标志。 但是,任务不能突然被抢占。抢占发生在某些时刻,例如中断出口。因此,当计时器退出时,将检查该标志并调用调度程序条目schedule()。

答案 4 :(得分:0)

TIF_NEED_RESCHED是Linux内核中每个任务旁边存储的许多“线程信息标志”之一。对抢占而言至关重要的标志之一是TIF_NEED_RESCHED