summaryrefslogtreecommitdiffstats
path: root/kernel/time
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2016-03-03 11:11:12 +0100
committerThomas Gleixner <tglx@linutronix.de>2016-03-03 11:11:12 +0100
commit82e88ff1ea948d83125a8aaa7c9809f03ccc500f (patch)
treeba7c29a33f0fca76abc6f04ee7c3aa62bfa26236 /kernel/time
parent232d26373d310a941ef2ab46e53ea62fe076ed13 (diff)
downloadlinux-stable-82e88ff1ea948d83125a8aaa7c9809f03ccc500f.tar.gz
linux-stable-82e88ff1ea948d83125a8aaa7c9809f03ccc500f.tar.bz2
linux-stable-82e88ff1ea948d83125a8aaa7c9809f03ccc500f.zip
hrtimer: Revert CLOCK_MONOTONIC_RAW support
Revert commits: a6e707ddbdf1: KVM: arm/arm64: timer: Switch to CLOCK_MONOTONIC_RAW 9006a01829a5: hrtimer: Catch illegal clockids 9c808765e88e: hrtimer: Add support for CLOCK_MONOTONIC_RAW Marc found out, that there are fundamental issues with that patch series because __hrtimer_get_next_event() and hrtimer_forward() need support for CLOCK_MONOTONIC_RAW. Nothing which is easily fixed, so revert the whole lot. Reported-by: Marc Zyngier <marc.zyngier@arm.com> Link: http://lkml.kernel.org/r/56D6CEF0.8060607@arm.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/time')
-rw-r--r--kernel/time/hrtimer.c18
1 files changed, 2 insertions, 16 deletions
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
index cb0fe70f3c51..435b8850dd80 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -90,30 +90,19 @@ DEFINE_PER_CPU(struct hrtimer_cpu_base, hrtimer_bases) =
.clockid = CLOCK_TAI,
.get_time = &ktime_get_clocktai,
},
- {
- .index = HRTIMER_BASE_MONOTONIC_RAW,
- .clockid = CLOCK_MONOTONIC_RAW,
- .get_time = &ktime_get_raw,
- },
}
};
static const int hrtimer_clock_to_base_table[MAX_CLOCKS] = {
- /* Make sure we catch unsupported clockids */
- [0 ... MAX_CLOCKS - 1] = HRTIMER_MAX_CLOCK_BASES,
-
[CLOCK_REALTIME] = HRTIMER_BASE_REALTIME,
[CLOCK_MONOTONIC] = HRTIMER_BASE_MONOTONIC,
- [CLOCK_MONOTONIC_RAW] = HRTIMER_BASE_MONOTONIC_RAW,
[CLOCK_BOOTTIME] = HRTIMER_BASE_BOOTTIME,
[CLOCK_TAI] = HRTIMER_BASE_TAI,
};
static inline int hrtimer_clockid_to_base(clockid_t clock_id)
{
- int base = hrtimer_clock_to_base_table[clock_id];
- BUG_ON(base == HRTIMER_MAX_CLOCK_BASES);
- return base;
+ return hrtimer_clock_to_base_table[clock_id];
}
/*
@@ -1279,10 +1268,7 @@ static void __hrtimer_run_queues(struct hrtimer_cpu_base *cpu_base, ktime_t now)
if (!(active & 0x01))
continue;
- if (unlikely(base->index == HRTIMER_BASE_MONOTONIC_RAW))
- basenow = ktime_get_raw();
- else
- basenow = ktime_add(now, base->offset);
+ basenow = ktime_add(now, base->offset);
while ((node = timerqueue_getnext(&base->active))) {
struct hrtimer *timer;