diff options
| -rw-r--r-- | arch/x86/kernel/apic/x2apic_uv_x.c | 2 | ||||
| -rw-r--r-- | kernel/sched.c | 4 | ||||
| -rw-r--r-- | kernel/time/tick-sched.c | 7 | ||||
| -rw-r--r-- | kernel/trace/trace_sysprof.c | 3 |
4 files changed, 9 insertions, 7 deletions
diff --git a/arch/x86/kernel/apic/x2apic_uv_x.c b/arch/x86/kernel/apic/x2apic_uv_x.c index 2bda69352976..a9cad1b00d6b 100644 --- a/arch/x86/kernel/apic/x2apic_uv_x.c +++ b/arch/x86/kernel/apic/x2apic_uv_x.c | |||
| @@ -463,7 +463,7 @@ static void uv_heartbeat(unsigned long ignored) | |||
| 463 | uv_set_scir_bits(bits); | 463 | uv_set_scir_bits(bits); |
| 464 | 464 | ||
| 465 | /* enable next timer period */ | 465 | /* enable next timer period */ |
| 466 | mod_timer(timer, jiffies + SCIR_CPU_HB_INTERVAL); | 466 | mod_timer_pinned(timer, jiffies + SCIR_CPU_HB_INTERVAL); |
| 467 | } | 467 | } |
| 468 | 468 | ||
| 469 | static void __cpuinit uv_heartbeat_enable(int cpu) | 469 | static void __cpuinit uv_heartbeat_enable(int cpu) |
diff --git a/kernel/sched.c b/kernel/sched.c index b902e587a3a0..9c5b4d3f97ab 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
| @@ -244,7 +244,7 @@ static void start_rt_bandwidth(struct rt_bandwidth *rt_b) | |||
| 244 | hard = hrtimer_get_expires(&rt_b->rt_period_timer); | 244 | hard = hrtimer_get_expires(&rt_b->rt_period_timer); |
| 245 | delta = ktime_to_ns(ktime_sub(hard, soft)); | 245 | delta = ktime_to_ns(ktime_sub(hard, soft)); |
| 246 | __hrtimer_start_range_ns(&rt_b->rt_period_timer, soft, delta, | 246 | __hrtimer_start_range_ns(&rt_b->rt_period_timer, soft, delta, |
| 247 | HRTIMER_MODE_ABS, 0); | 247 | HRTIMER_MODE_ABS_PINNED, 0); |
| 248 | } | 248 | } |
| 249 | spin_unlock(&rt_b->rt_runtime_lock); | 249 | spin_unlock(&rt_b->rt_runtime_lock); |
| 250 | } | 250 | } |
| @@ -1154,7 +1154,7 @@ static __init void init_hrtick(void) | |||
| 1154 | static void hrtick_start(struct rq *rq, u64 delay) | 1154 | static void hrtick_start(struct rq *rq, u64 delay) |
| 1155 | { | 1155 | { |
| 1156 | __hrtimer_start_range_ns(&rq->hrtick_timer, ns_to_ktime(delay), 0, | 1156 | __hrtimer_start_range_ns(&rq->hrtick_timer, ns_to_ktime(delay), 0, |
| 1157 | HRTIMER_MODE_REL, 0); | 1157 | HRTIMER_MODE_REL_PINNED, 0); |
| 1158 | } | 1158 | } |
| 1159 | 1159 | ||
| 1160 | static inline void init_hrtick(void) | 1160 | static inline void init_hrtick(void) |
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index d3f1ef4d5cbe..2aff39c6f10c 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c | |||
| @@ -349,7 +349,7 @@ void tick_nohz_stop_sched_tick(int inidle) | |||
| 349 | 349 | ||
| 350 | if (ts->nohz_mode == NOHZ_MODE_HIGHRES) { | 350 | if (ts->nohz_mode == NOHZ_MODE_HIGHRES) { |
| 351 | hrtimer_start(&ts->sched_timer, expires, | 351 | hrtimer_start(&ts->sched_timer, expires, |
| 352 | HRTIMER_MODE_ABS); | 352 | HRTIMER_MODE_ABS_PINNED); |
| 353 | /* Check, if the timer was already in the past */ | 353 | /* Check, if the timer was already in the past */ |
| 354 | if (hrtimer_active(&ts->sched_timer)) | 354 | if (hrtimer_active(&ts->sched_timer)) |
| 355 | goto out; | 355 | goto out; |
| @@ -395,7 +395,7 @@ static void tick_nohz_restart(struct tick_sched *ts, ktime_t now) | |||
| 395 | 395 | ||
| 396 | if (ts->nohz_mode == NOHZ_MODE_HIGHRES) { | 396 | if (ts->nohz_mode == NOHZ_MODE_HIGHRES) { |
| 397 | hrtimer_start_expires(&ts->sched_timer, | 397 | hrtimer_start_expires(&ts->sched_timer, |
| 398 | HRTIMER_MODE_ABS); | 398 | HRTIMER_MODE_ABS_PINNED); |
| 399 | /* Check, if the timer was already in the past */ | 399 | /* Check, if the timer was already in the past */ |
| 400 | if (hrtimer_active(&ts->sched_timer)) | 400 | if (hrtimer_active(&ts->sched_timer)) |
| 401 | break; | 401 | break; |
| @@ -698,7 +698,8 @@ void tick_setup_sched_timer(void) | |||
| 698 | 698 | ||
| 699 | for (;;) { | 699 | for (;;) { |
| 700 | hrtimer_forward(&ts->sched_timer, now, tick_period); | 700 | hrtimer_forward(&ts->sched_timer, now, tick_period); |
| 701 | hrtimer_start_expires(&ts->sched_timer, HRTIMER_MODE_ABS); | 701 | hrtimer_start_expires(&ts->sched_timer, |
| 702 | HRTIMER_MODE_ABS_PINNED); | ||
| 702 | /* Check, if the timer was already in the past */ | 703 | /* Check, if the timer was already in the past */ |
| 703 | if (hrtimer_active(&ts->sched_timer)) | 704 | if (hrtimer_active(&ts->sched_timer)) |
| 704 | break; | 705 | break; |
diff --git a/kernel/trace/trace_sysprof.c b/kernel/trace/trace_sysprof.c index 91fd19c2149f..d180554bc935 100644 --- a/kernel/trace/trace_sysprof.c +++ b/kernel/trace/trace_sysprof.c | |||
| @@ -203,7 +203,8 @@ static void start_stack_timer(void *unused) | |||
| 203 | hrtimer_init(hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); | 203 | hrtimer_init(hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); |
| 204 | hrtimer->function = stack_trace_timer_fn; | 204 | hrtimer->function = stack_trace_timer_fn; |
| 205 | 205 | ||
| 206 | hrtimer_start(hrtimer, ns_to_ktime(sample_period), HRTIMER_MODE_REL); | 206 | hrtimer_start(hrtimer, ns_to_ktime(sample_period), |
| 207 | HRTIMER_MODE_REL_PINNED); | ||
| 207 | } | 208 | } |
| 208 | 209 | ||
| 209 | static void start_stack_timers(void) | 210 | static void start_stack_timers(void) |
