aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/time/timer.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2015-04-14 17:08:51 -0400
committerThomas Gleixner <tglx@linutronix.de>2015-04-22 11:06:50 -0400
commitc6eb3f70d4482806dc2d3e1e3c7736f497b1d418 (patch)
tree5585d1389441c34889b25cc8fb190ae3de7c0c35 /kernel/time/timer.c
parent895bdfa793f6e912d1a58fc445b3dd4d686f7bd3 (diff)
hrtimer: Get rid of hrtimer softirq
hrtimer softirq is a leftover from the initial implementation and serves only the purpose to handle the enqueueing of already expired timers in the high resolution timer mode. We discussed whether we change the return value and force all start sites to handle that the timer is already expired, but that would be a Herculean task and I'm not sure whether its a good idea to enforce that handling on everyone. A simpler solution is to enforce a timer interrupt instead of raising and scheduling a softirq. Just use the existing infrastructure to do so and remove all the softirq leftovers. The HRTIMER softirq enum is now unused, but kept around because trace parsers rely on the existing numbering. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Peter Zijlstra <peterz@infradead.org> Cc: Preeti U Murthy <preeti@linux.vnet.ibm.com> Cc: Viresh Kumar <viresh.kumar@linaro.org> Cc: Marcelo Tosatti <mtosatti@redhat.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Link: http://lkml.kernel.org/r/20150414203501.840834708@linutronix.de Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/time/timer.c')
-rw-r--r--kernel/time/timer.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/kernel/time/timer.c b/kernel/time/timer.c
index 2ece3aa5069c..b31f13f4fe41 100644
--- a/kernel/time/timer.c
+++ b/kernel/time/timer.c
@@ -1409,8 +1409,6 @@ static void run_timer_softirq(struct softirq_action *h)
1409{ 1409{
1410 struct tvec_base *base = __this_cpu_read(tvec_bases); 1410 struct tvec_base *base = __this_cpu_read(tvec_bases);
1411 1411
1412 hrtimer_run_pending();
1413
1414 if (time_after_eq(jiffies, base->timer_jiffies)) 1412 if (time_after_eq(jiffies, base->timer_jiffies))
1415 __run_timers(base); 1413 __run_timers(base);
1416} 1414}