aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/time/tick-sched.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/time/tick-sched.c')
-rw-r--r--kernel/time/tick-sched.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
index a3562ce54984..e0f59a21c061 100644
--- a/kernel/time/tick-sched.c
+++ b/kernel/time/tick-sched.c
@@ -355,7 +355,7 @@ void tick_nohz_stop_sched_tick(int inidle)
355 355
356 if (ts->nohz_mode == NOHZ_MODE_HIGHRES) { 356 if (ts->nohz_mode == NOHZ_MODE_HIGHRES) {
357 hrtimer_start(&ts->sched_timer, expires, 357 hrtimer_start(&ts->sched_timer, expires,
358 HRTIMER_MODE_ABS); 358 HRTIMER_MODE_ABS_PINNED);
359 /* Check, if the timer was already in the past */ 359 /* Check, if the timer was already in the past */
360 if (hrtimer_active(&ts->sched_timer)) 360 if (hrtimer_active(&ts->sched_timer))
361 goto out; 361 goto out;
@@ -401,7 +401,7 @@ static void tick_nohz_restart(struct tick_sched *ts, ktime_t now)
401 401
402 if (ts->nohz_mode == NOHZ_MODE_HIGHRES) { 402 if (ts->nohz_mode == NOHZ_MODE_HIGHRES) {
403 hrtimer_start_expires(&ts->sched_timer, 403 hrtimer_start_expires(&ts->sched_timer,
404 HRTIMER_MODE_ABS); 404 HRTIMER_MODE_ABS_PINNED);
405 /* Check, if the timer was already in the past */ 405 /* Check, if the timer was already in the past */
406 if (hrtimer_active(&ts->sched_timer)) 406 if (hrtimer_active(&ts->sched_timer))
407 break; 407 break;
@@ -704,7 +704,8 @@ void tick_setup_sched_timer(void)
704 704
705 for (;;) { 705 for (;;) {
706 hrtimer_forward(&ts->sched_timer, now, tick_period); 706 hrtimer_forward(&ts->sched_timer, now, tick_period);
707 hrtimer_start_expires(&ts->sched_timer, HRTIMER_MODE_ABS); 707 hrtimer_start_expires(&ts->sched_timer,
708 HRTIMER_MODE_ABS_PINNED);
708 /* Check, if the timer was already in the past */ 709 /* Check, if the timer was already in the past */
709 if (hrtimer_active(&ts->sched_timer)) 710 if (hrtimer_active(&ts->sched_timer))
710 break; 711 break;