Patch "hrtimer: Add support for CLOCK_MONOTONIC_RAW" has been added to the 4.4-stable tree
This is a note to let you know that I've just added the patch titled
hrtimer: Add support for CLOCK_MONOTONIC_RAW
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
hrtimer-add-support-for-clock_monotonic_raw.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
9c808765e88efb6fa6af7e2206ef89512f1840a7Mon Sep 17 00:00:00 2001
From: Marc Zyngier <[email protected]>
Date: Fri, 15 Jan 2016 17:41:08 +0000
Subject: hrtimer: Add support for CLOCK_MONOTONIC_RAW
From: Marc Zyngier <[email protected]>
commit 9c808765e88efb6fa6af7e2206ef89512f1840a7 upstream.
The KVM/ARM timer implementation arms a hrtimer when a vcpu is blocked (usually because it is waiting for an interrupt) while its timer is going to kick in the future.
It is essential that this timer doesn't get adjusted, or the guest will end up being woken-up at the wrong time (NTP running on the host seems to confuse the hell out of some guests).
In order to allow this, let's add CLOCK_MONOTONIC_RAW support to hrtimer (it is so far only supported for posix timers). It also has the (limited) benefit of fixing de0421d53bfb ("mac80211_hwsim:
shuffle code to prepare for dynamic radios"), which already uses this functionnality without realizing wasn't implemented (just being lucky...).
--- include/linux/hrtimer.h | 1 + kernel/time/hrtimer.c | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-)
include/linux/hrtimer.h +1 -0
@@ -153,6 +153,7 @@ enum hrtimer_base_type {HRTIMER_BASE_REALTIME ,HRTIMER_BASE_BOOTTIME ,HRTIMER_BASE_TAI , +HRTIMER_BASE_MONOTONIC_RAW , HRTIMER_MAX_CLOCK_BASES, };
kernel/time/hrtimer.c +10 -1
@@ -90,6 +90,11 @@ DEFINE_PER_CPU(struct hrtimer_cpu_base, .clockid = CLOCK_TAI, .get_time = &ktime_get_clocktai, }, + { + .index = HRTIMER_BASE_MONOTONIC_RAW, + .clockid = CLOCK_MONOTONIC_RAW, + .get_time = &ktime_get_raw, + }, } };
@@ -99,6 +104,7 @@ static const int hrtimer_clock_to_base_t [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, };
@@ -1292,7 +1298,10 @@ static void __hrtimer_run_queues(structif (!(active &0x01 ))continue ; - basenow =ktime_add (now, base->offset); +if (unlikely (base->index ==HRTIMER_BASE_MONOTONIC_RAW )) + basenow =ktime_get_raw (); +else + basenow =ktime_add (now, base->offset);while ((node =timerqueue_getnext (&base->active))) {struct hrtimer *timer;
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/hrtimer-add-support-for-clock_monotonic_raw.patch
Greg,
Quoted 39 lines · On Tue, 27 Sep 2016 16:27:57 +0200 <[email protected]> wrote:
This is a note to let you know that I've just added the patch titled
hrtimer: Add support for
CLOCK_MONOTONIC_RAWto the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summaryThe filename of the patch is:
hrtimer-add-support-for-clock_monotonic_raw.patch
and it can be found in the queue-4.4 subdirectory.If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
From
9c808765e88efb6fa6af7e2206ef89512f1840a7Mon Sep 17 00:00:00 2001
From: Marc Zyngier <[email protected]>
Date: Fri, 15 Jan 2016 17:41:08 +0000
Subject: hrtimer: Add support forCLOCK_MONOTONIC_RAWFrom: Marc Zyngier <[email protected]>
commit
9c808765e88efb6fa6af7e2206ef89512f1840a7upstream.The KVM/ARM timer implementation arms a hrtimer when a vcpu is blocked (usually because it is waiting for an interrupt) while its timer is going to kick in the future.
It is essential that this timer doesn't get adjusted, or the guest will end up being woken-up at the wrong time (NTP running on the host seems to confuse the hell out of some guests).
In order to allow this, let's add
CLOCK_MONOTONIC_RAWsupport to hrtimer (it is so far only supported for posix timers). It also has the (limited) benefit of fixingde0421d53bfb("mac80211_hwsim:
shuffle code to prepare for dynamic radios"), which already uses this functionnality without realizing wasn't implemented (just being lucky...).
Quoted 7 lines
Signed-off-by Marc Zyngier <[email protected]>Cc Tomasz Nowicki <[email protected]>Cc Christoffer Dall <[email protected]>Signed-off-by Thomas Gleixner <[email protected]>Cc Felix Fietkau <[email protected]>Signed-off-by Greg Kroah-Hartman <[email protected]>
Please drop that patch. It is utterly broken, and was reverted in mainline with commit 82e88ff1ea94 ("hrtimer: Revert CLOCK_MONOTONIC_RAW support").
Thanks,
M.
Signature · 1 line
Jazz is not dead. It just smells funny.
Greg KH
maintainerQuoted 52 lines · Marc Zyngier
Greg,
Quoted 39 lines · On Tue, 27 Sep 2016 16:27:57 +0200 <[email protected]> wrote:
This is a note to let you know that I've just added the patch titled
hrtimer: Add support for
CLOCK_MONOTONIC_RAWto the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summaryThe filename of the patch is:
hrtimer-add-support-for-clock_monotonic_raw.patch
and it can be found in the queue-4.4 subdirectory.If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
From
9c808765e88efb6fa6af7e2206ef89512f1840a7Mon Sep 17 00:00:00 2001
From: Marc Zyngier <[email protected]>
Date: Fri, 15 Jan 2016 17:41:08 +0000
Subject: hrtimer: Add support forCLOCK_MONOTONIC_RAWFrom: Marc Zyngier <[email protected]>
commit
9c808765e88efb6fa6af7e2206ef89512f1840a7upstream.The KVM/ARM timer implementation arms a hrtimer when a vcpu is blocked (usually because it is waiting for an interrupt) while its timer is going to kick in the future.
It is essential that this timer doesn't get adjusted, or the guest will end up being woken-up at the wrong time (NTP running on the host seems to confuse the hell out of some guests).
In order to allow this, let's add
CLOCK_MONOTONIC_RAWsupport to hrtimer (it is so far only supported for posix timers). It also has the (limited) benefit of fixingde0421d53bfb("mac80211_hwsim:
shuffle code to prepare for dynamic radios"), which already uses this functionnality without realizing wasn't implemented (just being lucky...).Quoted 7 lines
Signed-off-by Marc Zyngier <[email protected]>Cc Tomasz Nowicki <[email protected]>Cc Christoffer Dall <[email protected]>Signed-off-by Thomas Gleixner <[email protected]>Cc Felix Fietkau <[email protected]>Signed-off-by Greg Kroah-Hartman <[email protected]>
Quoted 4 lines
Please drop that patch. It is utterly broken, and was reverted in mainline with commit
82e88ff1ea94("hrtimer: RevertCLOCK_MONOTONIC_RAWsupport").
Ok, will do.
Felix, this kind of means this isn't the fix you were looking for, any other ideas?
thanks,
greg k-h
Quoted 58 lines · Greg KH
Quoted 52 lines · Marc Zyngier
Greg,
Quoted 39 lines · On Tue, 27 Sep 2016 16:27:57 +0200 <[email protected]> wrote:
This is a note to let you know that I've just added the patch titled
hrtimer: Add support for
CLOCK_MONOTONIC_RAWto the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summaryThe filename of the patch is:
hrtimer-add-support-for-clock_monotonic_raw.patch
and it can be found in the queue-4.4 subdirectory.If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
From
9c808765e88efb6fa6af7e2206ef89512f1840a7Mon Sep 17 00:00:00 2001
From: Marc Zyngier <[email protected]>
Date: Fri, 15 Jan 2016 17:41:08 +0000
Subject: hrtimer: Add support forCLOCK_MONOTONIC_RAWFrom: Marc Zyngier <[email protected]>
commit
9c808765e88efb6fa6af7e2206ef89512f1840a7upstream.The KVM/ARM timer implementation arms a hrtimer when a vcpu is blocked (usually because it is waiting for an interrupt) while its timer is going to kick in the future.
It is essential that this timer doesn't get adjusted, or the guest will end up being woken-up at the wrong time (NTP running on the host seems to confuse the hell out of some guests).
In order to allow this, let's add
CLOCK_MONOTONIC_RAWsupport to hrtimer (it is so far only supported for posix timers). It also has the (limited) benefit of fixingde0421d53bfb("mac80211_hwsim:
shuffle code to prepare for dynamic radios"), which already uses this functionnality without realizing wasn't implemented (just being lucky...).Quoted 7 lines
Signed-off-by Marc Zyngier <[email protected]>Cc Tomasz Nowicki <[email protected]>Cc Christoffer Dall <[email protected]>Signed-off-by Thomas Gleixner <[email protected]>Cc Felix Fietkau <[email protected]>Signed-off-by Greg Kroah-Hartman <[email protected]>Quoted 4 lines
Please drop that patch. It is utterly broken, and was reverted in mainline with commit
82e88ff1ea94("hrtimer: RevertCLOCK_MONOTONIC_RAWsupport").
Quoted 4 lines
Ok, will do.
Felix, this kind of means this isn't the fix you were looking for, any other ideas?
I guess I can send a mac80211_hwpatch to switch to CLOCK_MONOTONIC instead and add Cc: stable.
- Felix
Quoted 3 lines · Felix Fietkau
Quoted 3 lines
Quoted 3 lines
Please drop that patch. It is utterly broken, and was reverted in mainline with commit
82e88ff1ea94("hrtimer: RevertCLOCK_MONOTONIC_RAWsupport").
Probably shouldn't be discussing it in this context, but ...
Why did this also revert the illegal clock ID catching? That seems strange? Doesn't that mean that everything that specifies an otherwise not supported value will get HRTIMER_BASE_MONOTONIC?
Quoted 7 lines
Quoted 5 lines
Ok, will do.
Felix, this kind of means this isn't the fix you were looking for, any
other ideas?I guess I can send a
mac80211_hwpatchto switch toCLOCK_MONOTONICinstead and add Cc: stable.
I had actually selected _RAW for a reason, you don't want the frame timings to be affected by clock adjustments?
Arguably, it's rare that the clock is actually adjusted, and even if that does happen, chances are that nobody will actually care at that point in time, but ...
What would it take to actually add real support?
johannes