aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/timer.c
diff options
context:
space:
mode:
authorAndrea Bastoni <bastoni@cs.unc.edu>2010-05-30 19:16:45 -0400
committerAndrea Bastoni <bastoni@cs.unc.edu>2010-05-30 19:16:45 -0400
commitada47b5fe13d89735805b566185f4885f5a3f750 (patch)
tree644b88f8a71896307d71438e9b3af49126ffb22b /kernel/timer.c
parent43e98717ad40a4ae64545b5ba047c7b86aa44f4f (diff)
parent3280f21d43ee541f97f8cda5792150d2dbec20d5 (diff)
Merge branch 'wip-2.6.34' into old-private-masterarchived-private-master
Diffstat (limited to 'kernel/timer.c')
-rw-r--r--kernel/timer.c7
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))