完全消除了现代Linux(> = 5.0)中的计时器刻度吗?

问题描述 投票:0回答:1

我正在尝试完全消除安静计算机上一组内核上的计时器中断。这些是这些内核定期处理的唯一中断。我已经isolcpu了,并使用CONFIG_NO_HZ_FULL构建了一个内核,实际上现在它们仅每秒接收一次定时器中断。 是否可以消除此剩余的1Hz计时器中断?

kernel doc表示在某些时候偶尔需要打勾:

[某些流程处理操作仍然需要偶尔计划时钟滴答声。这些操作包括计算CPU负载,保持预定平均值,计算CFS实体vruntime,计算avenrun并执行负载平衡。他们是当前由调度时钟滴答声每秒容纳或者。正在进行的工作将消除这些需求不频繁的计划时钟滴答声。

[这个kernel patch,“删除1 Hz滴答代码”,表明它已在更高版本的内核中删除:

现在将1Hz滴答声卸载到工作队列中,我们可以安全地删除用于本地处理的残余代码。

我已经构建了5.3.0内核,希望该残留的滴答声将被删除,但它仍然存在。

是否需要设置其他启动参数?在最新版本的内核中是否确实删除了剩余计时器滴答声? (this question有一些相关信息)

linux-kernel real-time interrupt
1个回答
0
投票

无法从所有cpus中完全删除1HZ刻度,否则我们将无法保留任何统计信息。相反,发生的事情是它现在正在工作队列中运行,并且您现在可以配置将处理所有全局工作队列任务的housekeeping CPU。有关详情,请参见此commit

还建议将nohz_full命令行参数与cpusets一起使用以管理隔离的cpus集。您仍然需要让其中一个(默认情况下为引导CPU)成为客房管理CPU。

© www.soinside.com 2019 - 2024. All rights reserved.