[PATCH 11/25] hrtimer: Allow remote hrtimer enqueue with "expires_next" as expiry time
From: Anna-Maria Gleixner
Date: Thu Aug 31 2017 - 08:27:46 EST
When enqueuing a timer with expiry X into a timer queue, where already
a timer with expriy X is queued, the new timer is queued on the
right-hand side of the already queued timer.
Therefore it is no problem, to enqueue a hrtimer on a remote CPU with the
same expiry time than the programmed expiry time (expires_next) on this
CPU, because the reprogramming path is not executed - it is not the
"leftmost" hrtimer.
Signed-off-by: Anna-Maria Gleixner <anna-maria@xxxxxxxxxxxxx>
---
kernel/time/hrtimer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -168,7 +168,7 @@ hrtimer_check_target(struct hrtimer *tim
ktime_t expires;
expires = ktime_sub(hrtimer_get_expires(timer), new_base->offset);
- return expires <= new_base->cpu_base->expires_next;
+ return expires < new_base->cpu_base->expires_next;
}
#ifdef CONFIG_NO_HZ_COMMON