Linux kernel 如果你需要做什么?

Linux kernel 如果你需要做什么?,linux-kernel,Linux Kernel,如果您需要在Linux调度程序(比如CFS)中重新设置,那么的目的是什么?在编写新的调度类时,是否可以使用此标志?如果是,此标志在何处以及如何用于新的调度类?我认为,如果您重写调度程序,您可以使用此标志作为值,但您将实现对其所做的操作。TIF\u NEED\u RESCHED是线程信息之一。它告诉我们在中断和用户空间返回路径时需要调用调度。请参阅\u计划功能描述…如果需要重新设置则表示需要重新计划通常当前正在运行的任务,以便运行该任务的核心可用于其他任务。换句话说:如果已确定任务已使用其时间片且

如果您需要在Linux调度程序(比如CFS)中重新设置,那么
的目的是什么?在编写新的调度类时,是否可以使用此标志?如果是,此标志在何处以及如何用于新的调度类?

我认为,如果您重写调度程序,您可以使用此标志作为值,但您将实现对其所做的操作。

TIF\u NEED\u RESCHED
是线程信息之一。它告诉我们在中断和用户空间返回路径时需要调用
调度。请参阅
\u计划
功能描述…

如果需要重新设置
则表示需要重新计划通常当前正在运行的任务,以便运行该任务的核心可用于其他任务。换句话说:如果已确定任务已使用其时间片且应被抢占,则设置TIF_NEED_RESCHED标志。出于某些原因,设置标志和实际抢占任务是在两个不同的场合和时间点完成的。例如,该标志可以在中断处理程序中设置,但实际的重新调度是在稍后的时间点完成的


Side node:TIF代表“线程信息标志”。

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

t如果需要,则RESCHED是Linux内核中存储在每个任务旁边的众多“线程信息标志”之一。对于抢占权的工作至关重要的标志之一是TIF是否需要重新设置