概述
TL; DR :将Linux内核实时与NO_HZ_FULL一起使用,我需要隔离一个进程才能获得确定的结果,但是/ proc / interrupts告诉我仍然存在本地计时器中断(以及其他中断)。 如何禁用它?
长版:
我想确保程序不会被中断,所以我尝试使用实时Linux内核。 我使用的是Arch Linux的实时版本(AUR上的linux-rt),并且修改了内核的配置以选择以下选项:
CONFIG_NO_HZ_FULL=y
CONFIG_NO_HZ_FULL_ALL=y
CONFIG_RCU_NOCB_CPU=y
CONFIG_RCU_NOCB_CPU_ALL=y
然后我重新启动计算机,以使用以下选项在此实时内核上启动:
nmi_watchdog=0
rcu_nocbs=1
nohz_full=1
isolcpus=1
我还禁用了BIOS中的以下选项:
C state
intel speed step
turbo mode
VTx
VTd
hyperthreading
我的CPU(i7-6700 3.40GHz)具有4个内核(具有超线程技术的8个逻辑CPU),可以在/ proc / interrupts文件中看到CPU0,CPU1,CPU2,CPU3。
CPU1由isolcpus内核参数隔离,我想在此CPU上禁用本地计时器中断。 尽管具有CONFIG_NO_HZ_FULL和CPU隔离(isolcpus)的实时内核足以做到这一点,但我尝试通过运行以下
最后
以上就是俊秀薯片为你收集整理的linux定时器中断程序,timer - 实时Linux:禁用本地计时器中断 - 堆栈内存溢出的全部内容,希望文章能够帮你解决linux定时器中断程序,timer - 实时Linux:禁用本地计时器中断 - 堆栈内存溢出所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复