diff options
Diffstat (limited to 'kernel/timer.c')
-rw-r--r-- | kernel/timer.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/kernel/timer.c b/kernel/timer.c index ee305c8d4e18..d61d16da0b64 100644 --- a/kernel/timer.c +++ b/kernel/timer.c | |||
@@ -577,6 +577,19 @@ static void __init_timer(struct timer_list *timer, | |||
577 | lockdep_init_map(&timer->lockdep_map, name, key, 0); | 577 | lockdep_init_map(&timer->lockdep_map, name, key, 0); |
578 | } | 578 | } |
579 | 579 | ||
580 | void setup_deferrable_timer_on_stack_key(struct timer_list *timer, | ||
581 | const char *name, | ||
582 | struct lock_class_key *key, | ||
583 | void (*function)(unsigned long), | ||
584 | unsigned long data) | ||
585 | { | ||
586 | timer->function = function; | ||
587 | timer->data = data; | ||
588 | init_timer_on_stack_key(timer, name, key); | ||
589 | timer_set_deferrable(timer); | ||
590 | } | ||
591 | EXPORT_SYMBOL_GPL(setup_deferrable_timer_on_stack_key); | ||
592 | |||
580 | /** | 593 | /** |
581 | * init_timer_key - initialize a timer | 594 | * init_timer_key - initialize a timer |
582 | * @timer: the timer to be initialized | 595 | * @timer: the timer to be initialized |
@@ -679,12 +692,8 @@ __mod_timer(struct timer_list *timer, unsigned long expires, | |||
679 | cpu = smp_processor_id(); | 692 | cpu = smp_processor_id(); |
680 | 693 | ||
681 | #if defined(CONFIG_NO_HZ) && defined(CONFIG_SMP) | 694 | #if defined(CONFIG_NO_HZ) && defined(CONFIG_SMP) |
682 | if (!pinned && get_sysctl_timer_migration() && idle_cpu(cpu)) { | 695 | if (!pinned && get_sysctl_timer_migration() && idle_cpu(cpu)) |
683 | int preferred_cpu = get_nohz_load_balancer(); | 696 | cpu = get_nohz_timer_target(); |
684 | |||
685 | if (preferred_cpu >= 0) | ||
686 | cpu = preferred_cpu; | ||
687 | } | ||
688 | #endif | 697 | #endif |
689 | new_base = per_cpu(tvec_bases, cpu); | 698 | new_base = per_cpu(tvec_bases, cpu); |
690 | 699 | ||
@@ -1289,7 +1298,6 @@ void run_local_timers(void) | |||
1289 | { | 1298 | { |
1290 | hrtimer_run_queues(); | 1299 | hrtimer_run_queues(); |
1291 | raise_softirq(TIMER_SOFTIRQ); | 1300 | raise_softirq(TIMER_SOFTIRQ); |
1292 | softlockup_tick(); | ||
1293 | } | 1301 | } |
1294 | 1302 | ||
1295 | /* | 1303 | /* |