linux 动态定时器,Linux 3.10完整支持的DynTicks(动态定时器)特性简介

Linux 3.10发布,其完整支持的DynTicks(动态定时器),被标版为内核级别的核心特性。本文就来看一下DynTicks为何东东?又有啥稀奇之处?

我们知道,Linux内核里有一个HZ值,其表示时钟中断频率,在2.4内核时值为100,到2.6内核时变成了一个内核选项,可配置为100、250、300或1000。不管是2.4还是2.6,一旦内核编译完成,在实际运行时,HZ值是不变的(某些第三方补丁除外,后面会讲到),也就是说,每隔一个固定的时间间隔,比如1毫秒(以HZ等于1000为例),就会发生一次时间中断。

对于Linux而言,有很多机制是直接或间接依赖于时间中断的,比如进程切换。还记得有哪些时机会发生进程切换么?这不属于本文该讨论的话题,但肯定有人知道,在中断处理程序返回到用户空间时,内核会检查当前是否需要做进程切换。正因为如此,固定的时间中断就会引发固定的进程切换检查,并及时作出schedule()动作。当然,这仅只是一个关于进度管理的内核机制示例,但可以看到有了固定的系统时钟中断频率,就可以很简单的管理系统时间,而很多与此相关的功能也能较为方便的实现。

既然在固定系统时钟中断频率下,这一切都显得那么和谐,为什么还有人一直孜孜不倦的搞一个名为NOHZ(即DynTicks)的功能?NOHZ,显而易见,即是不固定系统时钟中断频率,可能在这一秒,时钟中断100次,而在下一秒,时钟又中断500次。

DynTicks并不是一蹴而就的,其最先是从2004年十月起,一直被用在linux-omap内而实现对TI’s OMAP ARM架构的支持。在Linux 2.4内核时期,有对应的VST补丁实现,而在Linux 2.6内核时期,有对应的NO_IDLE_HZ补丁实现。不管怎样,到现在的3.10,Linux已完整支持DynTicks(动态定时器)。

NOHZ有什么好处?其最大的好处就是省电。

一般而言,我们给Linux内核设定HZ是一个比平均所需要高的值。举个例子,如果一台Linux主机,它只有在某些时候需要较高的系统时钟中断频率W1,以便给外界提供更好的服务(比如,进程切换更快,从而给人的感觉是响应更迅速),而在其他大部分时间里都只需一个较低的系统时钟中断频率即可,但我们仍然得给它设置系统时钟中断频率HZ为W1。因此,过多的不必要的时钟中断,反复的唤醒系统又什么都不做或没什么事情做,导致电能的浪费。对于未来越来越多的终端设备(比如手机),能省电,毫无疑问是最有诱惑力的优点。

不仅只是终端,对于越来越集中的虚拟化、云计算,DynTicks也会带来省电的好处。比如更少的时钟中断可以避免引起无用的vmexits系统开销,从而在省电的同时,又能提高KVM的整体性能。不管是省电,还是性能提升,积少成多,再说,搞Linux的那群牛人,追求的就是极致,哈哈!

简介简介,先简单介绍到这里吧,后续看了具体代码,再说。

[GIT PULL, RFC] Full dynticks, CONFIG_NO_HZ_FULL feature

http://lkml.indiana.edu/hypermail/linux/kernel/1305.0/01831.html

Full DynTicks Proposed For Linux Kernel Integration, Posted by Michael Larabel on May 05, 2013

http://www.phoronix.com/scan.php?page=news_item&px=MTM2NTA

Linux Dynticks Being Extended For Performance Wins, Posted by Michael Larabel on December 18, 2012

http://www.phoronix.com/scan.php?page=news_item&px=MTI1NTg

http://muru.com/linux/dyntick/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值