diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 496a30a41854..f79951facff4 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -13332,6 +13332,12 @@ static void task_tick_fair(struct rq *rq, struct task_struct *curr, int queued) entity_tick(cfs_rq, se, queued); } + if (queued) { + if (!need_resched()) + hrtick_start_fair(rq, curr); + return; + } + if (static_branch_unlikely(&sched_numa_balancing)) task_tick_numa(rq, curr);