相关疑难解决方法(0)

NOHZ = On如何影响linux内核中的do_timer

在一个简单的实验中,我设置NOHZ=OFF并用于printk打印do_timer调用函数的频率.它在我的机器上每10毫秒调用一次.

但是,如果NOHZ=ON那时do_timer被调用的方式存在很多抖动.大多数情况下,它每10毫秒调用一次,但有时会完全错过最后期限.

我研究过两者do_timer和NOHZ.do_timer是负责更新jiffies值的函数,还负责进程的循环调度.

NOHZ功能可关闭系统上的高分辨率计时器.

我无法理解的是高分辨率计时器如何影响do_timer?即使高分辨率硬件处于睡眠状态,持久时钟也能够do_timer每10毫秒执行一次.其次,如果do_timer它不应该执行,那意味着某些进程在理想情况下应该得到它时没有得到它们的分时.许多谷歌搜索确实表明,对于许多人来说,许多应用程序在开始时工作得更好NOHZ=OFF.

长话短说,NOHZ=ON影响如何do_timer
为什么do_timer错过最后期限?

linux time linux-kernel

19
推荐指数
1
解决办法
2万
查看次数

SMP调度如何在Linux内核中运行?(ARM架构)

在linux中,调度程序将在经过特定时间后触发.据我所知,定时器触发一个中断,进而触发一次调用schedule.

在SMP系统中,我在"理解Linux内核"一书中读到"每个处理器自己运行调度程序()函数".这是否意味着每个定时器中断都会触发每个cpu同时进行重新调度?

arm scheduler linux-kernel

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

标签 统计

linux-kernel ×2

arm ×1

linux ×1

scheduler ×1

time ×1