1

在 kernel/sched/core.c 中,init_rq_hrtick(rq) 由 sched_init() 调用。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。

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

我的内核版本是 4.13.16

4

0 回答 0