diff options
author | Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | 2011-03-16 19:05:44 -0400 |
---|---|---|
committer | Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> | 2011-03-16 19:05:44 -0400 |
commit | 986257ab5736d3b563370336cfe784af212078c2 (patch) | |
tree | 1331ed74f5febb1835840f2434b49398fda56416 /kernel | |
parent | 73d03f0d21936bc1a281b433e2ca4bc8913ed22d (diff) |
trace-clock-32-to-64-use-del-timer-sync
trace clock 32 to 64 use del timer sync
Needed for RT kernel.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/trace/trace-clock-32-to-64.c | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/kernel/trace/trace-clock-32-to-64.c b/kernel/trace/trace-clock-32-to-64.c index d80255eb288..bce7c8e0ae0 100644 --- a/kernel/trace/trace-clock-32-to-64.c +++ b/kernel/trace/trace-clock-32-to-64.c @@ -150,10 +150,8 @@ static void tsc_timer_fct(unsigned long data) { update_synthetic_tsc(); - per_cpu(tsc_timer, smp_processor_id()).expires = - jiffies + precalc_expire; - add_timer_on(&per_cpu(tsc_timer, smp_processor_id()), - smp_processor_id()); + mod_timer_pinned(&per_cpu(tsc_timer, smp_processor_id()), + jiffies + precalc_expire); } /* @@ -199,18 +197,9 @@ static void enable_synthetic_tsc(int cpu) add_timer_on(&per_cpu(tsc_timer, cpu), cpu); } -/* - * Cannot use del_timer_sync with add_timer_on, so use an IPI to locally - * delete the timer. - */ -static void disable_synthetic_tsc_ipi(void *info) -{ - del_timer(&per_cpu(tsc_timer, smp_processor_id())); -} - static void disable_synthetic_tsc(int cpu) { - smp_call_function_single(cpu, disable_synthetic_tsc_ipi, NULL, 1); + del_timer_sync(&per_cpu(tsc_timer, smp_processor_id())); } /* |