diff options
author | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
---|---|---|
committer | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
commit | ada47b5fe13d89735805b566185f4885f5a3f750 (patch) | |
tree | 644b88f8a71896307d71438e9b3af49126ffb22b /kernel/timer.c | |
parent | 43e98717ad40a4ae64545b5ba047c7b86aa44f4f (diff) | |
parent | 3280f21d43ee541f97f8cda5792150d2dbec20d5 (diff) |
Merge branch 'wip-2.6.34' into old-private-masterarchived-private-master
Diffstat (limited to 'kernel/timer.c')
-rw-r--r-- | kernel/timer.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/kernel/timer.c b/kernel/timer.c index 5db5a8d26811..aeb6a54f2771 100644 --- a/kernel/timer.c +++ b/kernel/timer.c | |||
@@ -39,6 +39,7 @@ | |||
39 | #include <linux/kallsyms.h> | 39 | #include <linux/kallsyms.h> |
40 | #include <linux/perf_event.h> | 40 | #include <linux/perf_event.h> |
41 | #include <linux/sched.h> | 41 | #include <linux/sched.h> |
42 | #include <linux/slab.h> | ||
42 | 43 | ||
43 | #include <asm/uaccess.h> | 44 | #include <asm/uaccess.h> |
44 | #include <asm/unistd.h> | 45 | #include <asm/unistd.h> |
@@ -656,8 +657,6 @@ __mod_timer(struct timer_list *timer, unsigned long expires, | |||
656 | 657 | ||
657 | debug_activate(timer, expires); | 658 | debug_activate(timer, expires); |
658 | 659 | ||
659 | new_base = __get_cpu_var(tvec_bases); | ||
660 | |||
661 | cpu = smp_processor_id(); | 660 | cpu = smp_processor_id(); |
662 | 661 | ||
663 | #if defined(CONFIG_NO_HZ) && defined(CONFIG_SMP) | 662 | #if defined(CONFIG_NO_HZ) && defined(CONFIG_SMP) |
@@ -882,6 +881,7 @@ int try_to_del_timer_sync(struct timer_list *timer) | |||
882 | if (base->running_timer == timer) | 881 | if (base->running_timer == timer) |
883 | goto out; | 882 | goto out; |
884 | 883 | ||
884 | timer_stats_timer_clear_start_info(timer); | ||
885 | ret = 0; | 885 | ret = 0; |
886 | if (timer_pending(timer)) { | 886 | if (timer_pending(timer)) { |
887 | detach_timer(timer, 1); | 887 | detach_timer(timer, 1); |
@@ -1200,6 +1200,7 @@ void update_process_times(int user_tick) | |||
1200 | run_local_timers(); | 1200 | run_local_timers(); |
1201 | rcu_check_callbacks(cpu, user_tick); | 1201 | rcu_check_callbacks(cpu, user_tick); |
1202 | printk_tick(); | 1202 | printk_tick(); |
1203 | perf_event_do_pending(); | ||
1203 | scheduler_tick(); | 1204 | scheduler_tick(); |
1204 | run_posix_cpu_timers(p); | 1205 | run_posix_cpu_timers(p); |
1205 | } | 1206 | } |
@@ -1211,8 +1212,6 @@ static void run_timer_softirq(struct softirq_action *h) | |||
1211 | { | 1212 | { |
1212 | struct tvec_base *base = __get_cpu_var(tvec_bases); | 1213 | struct tvec_base *base = __get_cpu_var(tvec_bases); |
1213 | 1214 | ||
1214 | perf_event_do_pending(); | ||
1215 | |||
1216 | hrtimer_run_pending(); | 1215 | hrtimer_run_pending(); |
1217 | 1216 | ||
1218 | if (time_after_eq(jiffies, base->timer_jiffies)) | 1217 | if (time_after_eq(jiffies, base->timer_jiffies)) |