您的位置:首页 > 运维架构 > Linux

悟空学Linux专栏----第22篇

2015-07-13 10:11 183 查看
  下课之后达人感到比较开心,因为今天悟空在课堂上提了不少的问题,达人心想今晚终于可以睡一个好觉了,所以达人今晚回家之后就早早的洗澡上床了。但是正当达人快要睡着的时候突然听到了外面有砰砰的敲门声,达人起来开门一看,竟然是悟空。

  达人(囧):悟空啊,这么晚了有什么事吗?

  悟空:老师,我下课之后发现我还有一个问题不懂,那就是高精度定时器到期之后是如何处理的呢?

  达人:高精度定时器的到期处理函数是“__run_hrtimer”,该函数在”kernel/hrtimer.c”文件中实现,该函数主要实现了两个功能:第一从红黑树中取出将执行的高精度定时器;第二执行取出的高精度定时器。

  悟空:那么“__run_hrtimer”函数又是谁调用的呢?

  达人:主要有两个函数调用“__run_hrtimer”函数,一个是“hrtimer_run_queues”函数,一个是“hrtimer_interrupt”函数。这两个函数分别对应了两种情况:当系统没有启动高精度定时器的功能,却使用了高精度定时器的时候,系统会在每个tick事件中断中执行hrtimer_run_queues函数;第二种情况,当系统启动了高精度定时器的功能的时候,高精度定时器将接管原先给CPU提供tick事件的tick_device,他的中断回调函数会被设置为“hrtimer_interrupt”函数……

  悟空想问下一个问题的时候,结果发现达人已经睡着了,悟空十分佩服达人,坐着都能睡着了,所以悟空郁闷地离开了。

  当达人听到,悟空关门离开的声音之后,立刻爬起来将门反锁了。但是不知道为什么悟空走了之后,达人翻来覆去再也睡不着了,就这样翻来覆去一个晚上……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息