[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <158464406295.28353.3230662958771714087.tip-bot2@tip-bot2>
Date: Thu, 19 Mar 2020 18:54:22 -0000
From: "tip-bot2 for Thomas Gleixner" <tip-bot2@...utronix.de>
To: linux-tip-commits@...r.kernel.org
Cc: Qian Cai <cai@....pw>, Thomas Gleixner <tglx@...utronix.de>,
Waiman Long <longman@...hat.com>, x86 <x86@...nel.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: [tip: timers/core] Revert "tick/common: Make tick_periodic() check
for missing ticks"
The following commit has been merged into the timers/core branch of tip:
Commit-ID: 52da479a9aee630d2cdf37d05edfe5bcfff3e17f
Gitweb: https://git.kernel.org/tip/52da479a9aee630d2cdf37d05edfe5bcfff3e17f
Author: Thomas Gleixner <tglx@...utronix.de>
AuthorDate: Thu, 19 Mar 2020 19:47:06 +01:00
Committer: Thomas Gleixner <tglx@...utronix.de>
CommitterDate: Thu, 19 Mar 2020 19:47:48 +01:00
Revert "tick/common: Make tick_periodic() check for missing ticks"
This reverts commit d441dceb5dce71150f28add80d36d91bbfccba99 due to
boot failures.
Reported-by: Qian Cai <cai@....pw>
Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
Cc: Waiman Long <longman@...hat.com>
---
kernel/time/tick-common.c | 36 +++---------------------------------
1 file changed, 3 insertions(+), 33 deletions(-)
diff --git a/kernel/time/tick-common.c b/kernel/time/tick-common.c
index cce4ed1..7e5d352 100644
--- a/kernel/time/tick-common.c
+++ b/kernel/time/tick-common.c
@@ -16,7 +16,6 @@
#include <linux/profile.h>
#include <linux/sched.h>
#include <linux/module.h>
-#include <linux/sched/clock.h>
#include <trace/events/power.h>
#include <asm/irq_regs.h>
@@ -85,41 +84,12 @@ int tick_is_oneshot_available(void)
static void tick_periodic(int cpu)
{
if (tick_do_timer_cpu == cpu) {
- /*
- * Use running_clock() as reference to check for missing ticks.
- */
- static ktime_t last_update;
- ktime_t now;
- int ticks = 1;
-
- now = ns_to_ktime(running_clock());
write_seqlock(&jiffies_lock);
- if (last_update) {
- u64 delta = ktime_sub(now, last_update);
-
- /*
- * Check for eventually missed ticks
- *
- * There is likely a persistent delta between
- * last_update and tick_next_period. So they are
- * updated separately.
- */
- if (delta >= 2 * tick_period) {
- s64 period = ktime_to_ns(tick_period);
-
- ticks = ktime_divns(delta, period);
- }
- last_update = ktime_add(last_update,
- ticks * tick_period);
- } else {
- last_update = now;
- }
-
/* Keep track of the next tick event */
- tick_next_period = ktime_add(tick_next_period,
- ticks * tick_period);
- do_timer(ticks);
+ tick_next_period = ktime_add(tick_next_period, tick_period);
+
+ do_timer(1);
write_sequnlock(&jiffies_lock);
update_wall_time();
}
Powered by blists - more mailing lists