[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
* [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

View File

@ -11,7 +11,7 @@ delivery problem for real.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
[bwh: Adjust context to apply after fixed latency-hist.patch]
---
include/linux/hrtimer.h | 4 +
kernel/sched/core.c | 1
@ -121,7 +121,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu>
cpu_base->running == timer)
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;
}
@ -225,6 +225,8 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu>
+#endif
+
+
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;
@ -233,7 +235,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu>
for (; active; base++, active >>= 1) {
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))
break;
@ -248,15 +250,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu>
+ raise_softirq_irqoff(HRTIMER_SOFTIRQ);
}
-#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
#ifdef CONFIG_HIGH_RES_TIMERS
@@ -1481,8 +1591,6 @@ void hrtimer_run_queues(void)
now = hrtimer_update_base(cpu_base);
__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: Thomas Gleixner <tglx@linutronix.de>
[bwh: Move up prototype of hrtimer_wakeup() so this actually compiles]
---
Documentation/trace/histograms.txt | 186 +++++
include/linux/hrtimer.h | 3
@ -376,7 +376,16 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
leftmost = enqueue_hrtimer(timer, new_base);
if (!leftmost)
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);
@ -392,15 +401,6 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/*
* The immediate goal for using the softexpires is
* 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
+++ b/kernel/trace/Kconfig
@@ -187,6 +187,24 @@ config IRQSOFF_TRACER
@ -1784,7 +1784,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
if (!preempt_trace() && irq_trace())
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())
start_critical_timing(CALLER_ADDR0, caller_addr);