为什么hrtick计时器的回调函数不调用?

时间:2018-07-18 03:25:29

标签: timer linux-kernel scheduler scheduling preemption

在kernel / sched / core.c中,sched_init()调用init_rq_hrtick(rq)。 init_rq_hrtick(rq)初始化hrtick_timer并指定到期时要调用的回调函数。

01  static void init_rq_hrtick(struct rq *rq)
02  {
03  #ifdef CONFIG_SMP
04          rq->hrtick_csd_pending = 0;
05   
06          rq->hrtick_csd.flags = 0;
07          rq->hrtick_csd.func = __hrtick_start;
08          rq->hrtick_csd.info = rq;
09  #endif
10   
11          hrtimer_init(&rq->hrtick_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
*12         rq->hrtick_timer.function = hrtick;*
13  }

我设置了CONFIG_SCHED_HRTICK = y。

但是hrtick函数,该函数由init_rq_hrtick()设置为回调函数 不定期调用。 你能告诉我为什么不调用回调函数吗?

我的内核版本是4.13.16

0 个答案:

没有答案