[rt] Fix build error in kernel/time/hrtimer.c

This commit is contained in:
Ben Hutchings 2015-12-24 23:37:10 +00:00
parent fb638c19f7
commit 47bc73ef73
3 changed files with 19 additions and 24 deletions

1
debian/changelog vendored
View File

@ -1,6 +1,7 @@
linux (4.4~rc6-1~exp2) UNRELEASED; urgency=medium linux (4.4~rc6-1~exp2) UNRELEASED; urgency=medium
* [rt] Update to 4.4-rc6-rt1 and re-enable * [rt] Update to 4.4-rc6-rt1 and re-enable
* [rt] Fix build error in kernel/time/hrtimer.c
-- Ben Hutchings <ben@decadent.org.uk> Thu, 24 Dec 2015 21:28:51 +0000 -- Ben Hutchings <ben@decadent.org.uk> Thu, 24 Dec 2015 21:28:51 +0000

View File

@ -11,7 +11,7 @@ delivery problem for real.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Ingo Molnar <mingo@elte.hu>
[bwh: Adjust context to apply after fixed latency-hist.patch]
--- ---
include/linux/hrtimer.h | 4 + include/linux/hrtimer.h | 4 +
kernel/sched/core.c | 1 kernel/sched/core.c | 1
@ -121,7 +121,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu>
cpu_base->running == timer) cpu_base->running == timer)
return true; return true;
@@ -1292,10 +1296,111 @@ static void __run_hrtimer(struct hrtimer @@ -1292,12 +1296,113 @@ static void __run_hrtimer(struct hrtimer
cpu_base->running = NULL; cpu_base->running = NULL;
} }
@ -225,6 +225,8 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu>
+#endif +#endif
+ +
+ +
static enum hrtimer_restart hrtimer_wakeup(struct hrtimer *timer);
static void __hrtimer_run_queues(struct hrtimer_cpu_base *cpu_base, ktime_t now) static void __hrtimer_run_queues(struct hrtimer_cpu_base *cpu_base, ktime_t now)
{ {
struct hrtimer_clock_base *base = cpu_base->clock_base; struct hrtimer_clock_base *base = cpu_base->clock_base;
@ -233,7 +235,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu>
for (; active; base++, active >>= 1) { for (; active; base++, active >>= 1) {
struct timerqueue_node *node; struct timerqueue_node *node;
@@ -1335,15 +1440,20 @@ static void __hrtimer_run_queues(struct @@ -1337,9 +1442,14 @@ static void __hrtimer_run_queues(struct
if (basenow.tv64 < hrtimer_get_softexpires_tv64(timer)) if (basenow.tv64 < hrtimer_get_softexpires_tv64(timer))
break; break;
@ -248,15 +250,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu>
+ raise_softirq_irqoff(HRTIMER_SOFTIRQ); + raise_softirq_irqoff(HRTIMER_SOFTIRQ);
} }
-#ifdef CONFIG_HIGH_RES_TIMERS #ifdef CONFIG_HIGH_RES_TIMERS
-
static enum hrtimer_restart hrtimer_wakeup(struct hrtimer *timer);
+#ifdef CONFIG_HIGH_RES_TIMERS
+
/*
* High resolution timer interrupt
* Called with interrupts disabled
@@ -1481,8 +1591,6 @@ void hrtimer_run_queues(void) @@ -1481,8 +1591,6 @@ void hrtimer_run_queues(void)
now = hrtimer_update_base(cpu_base); now = hrtimer_update_base(cpu_base);
__hrtimer_run_queues(cpu_base, now); __hrtimer_run_queues(cpu_base, now);

View File

@ -12,7 +12,7 @@ filesystem. For details please consult Documentation/trace/histograms.txt.
Signed-off-by: Carsten Emde <C.Emde@osadl.org> Signed-off-by: Carsten Emde <C.Emde@osadl.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
[bwh: Move up prototype of hrtimer_wakeup() so this actually compiles]
--- ---
Documentation/trace/histograms.txt | 186 +++++ Documentation/trace/histograms.txt | 186 +++++
include/linux/hrtimer.h | 3 include/linux/hrtimer.h | 3
@ -376,7 +376,16 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
leftmost = enqueue_hrtimer(timer, new_base); leftmost = enqueue_hrtimer(timer, new_base);
if (!leftmost) if (!leftmost)
goto unlock; goto unlock;
@@ -1275,6 +1285,15 @@ static void __hrtimer_run_queues(struct @@ -1256,6 +1266,8 @@ static void __run_hrtimer(struct hrtimer
cpu_base->running = NULL;
}
+static enum hrtimer_restart hrtimer_wakeup(struct hrtimer *timer);
+
static void __hrtimer_run_queues(struct hrtimer_cpu_base *cpu_base, ktime_t now)
{
struct hrtimer_clock_base *base = cpu_base->clock_base;
@@ -1275,6 +1287,15 @@ static void __hrtimer_run_queues(struct
timer = container_of(node, struct hrtimer, node); timer = container_of(node, struct hrtimer, node);
@ -392,15 +401,6 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/* /*
* The immediate goal for using the softexpires is * The immediate goal for using the softexpires is
* minimizing wakeups, not running timers at the * minimizing wakeups, not running timers at the
@@ -1297,6 +1316,8 @@ static void __hrtimer_run_queues(struct
#ifdef CONFIG_HIGH_RES_TIMERS
+static enum hrtimer_restart hrtimer_wakeup(struct hrtimer *timer);
+
/*
* High resolution timer interrupt
* Called with interrupts disabled
--- a/kernel/trace/Kconfig --- a/kernel/trace/Kconfig
+++ b/kernel/trace/Kconfig +++ b/kernel/trace/Kconfig
@@ -187,6 +187,24 @@ config IRQSOFF_TRACER @@ -187,6 +187,24 @@ config IRQSOFF_TRACER
@ -1784,7 +1784,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
if (!preempt_trace() && irq_trace()) if (!preempt_trace() && irq_trace())
stop_critical_timing(CALLER_ADDR0, caller_addr); stop_critical_timing(CALLER_ADDR0, caller_addr);
} }
@@ -490,6 +498,7 @@ EXPORT_SYMBOL(trace_hardirqs_on_caller); @@ -490,6 +498,7 @@ __visible void trace_hardirqs_off_caller
{ {
if (!preempt_trace() && irq_trace()) if (!preempt_trace() && irq_trace())
start_critical_timing(CALLER_ADDR0, caller_addr); start_critical_timing(CALLER_ADDR0, caller_addr);