gpt4 book ai didi

linux - 在linux任务调度程序中,sheduler_tick()在哪里调用?

转载 作者:太空宇宙 更新时间:2023-11-04 04:23:30 24 4
gpt4 key购买 nike

最近在玩linux任务调度器。

现在我想了解一下任务调度器的负载均衡机制和CFS算法。首先,我在__schedule()中找到了功能idle_balance(cpu, rq)如果当前运行队列为空,则调用它尝试进行一些负载平衡。

然后我又在core.c中找到了文件中有一个函数scheduler_tick()这似乎是定期调用的,更新 rq 和其他数据结构,并且还进行负载平衡(调用函数 trigger_load_balance(rq, cpu) )。我对吗?但是 scheduler_tick() 是如何做到的?工作?计时器在哪里?我知道 CFS 不是基于刻度的。所以可能在启动后创建了一个计时器,它将调用 scheduler_tick()定期?

这似乎是一个幼稚的问题,但我现在是linux系统的菜鸟。

最佳答案

它是由系统定时器定期生成的中断请求触发的。 1

关于linux - 在linux任务调度程序中,sheduler_tick()在哪里调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11172867/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com