From: Richard Cochran <richardcochran@gmail.com>
To: <linux-kernel@vger.kernel.org>
Cc: John Stultz <john.stultz@linaro.org>,
Thomas Gleixner <tglx@linutronix.de>
Subject: [PATCH RFC V2 3/6] time: keep track of the pending utc/tai threshold
Date: Fri, 18 May 2012 16:09:55 +0200 [thread overview]
Message-ID: <6777ac8ebc321c67d13fdb8d0a3d826332b60f1f.1337348892.git.richardcochran@gmail.com> (raw)
In-Reply-To: <cover.1337348892.git.richardcochran@gmail.com>
In-Reply-To: <cover.1337348892.git.richardcochran@gmail.com>
This patch introduces time keeping variables to track the next
mini-epoch between the UTC and TAI timescales. A leap second occurs
one second before a mini-epoch. When no leap second is pending, then
the epoch is set to the far future, LONG_MAX.
This code will become useful later on for providing correct time
surrounding a leap second.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
---
kernel/time/timekeeping.c | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index d66b213..ac04de4 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -70,6 +70,19 @@ struct timekeeper {
/* The raw monotonic time for the CLOCK_MONOTONIC_RAW posix clock. */
struct timespec raw_time;
+ /* The current TAI - UTC offset */
+ time_t tai_offset;
+ /* The UTC time of the next leap second epoch */
+ time_t utc_epoch;
+ /* Tracks where we stand with regard to leap the second epoch. */
+ enum {
+ LEAP_IDLE,
+ LEAP_INS_PENDING,
+ LEAP_INS_DONE,
+ LEAP_DEL_PENDING,
+ LEAP_DEL_DONE,
+ } leap_state;
+
/* Seqlock for all timekeeper values */
seqlock_t lock;
};
@@ -608,6 +621,7 @@ void __init timekeeping_init(void)
-boot.tv_sec, -boot.tv_nsec);
timekeeper.total_sleep_time.tv_sec = 0;
timekeeper.total_sleep_time.tv_nsec = 0;
+ timekeeper.utc_epoch = LONG_MAX;
write_sequnlock_irqrestore(&timekeeper.lock, flags);
}
--
1.7.2.5
next prev parent reply other threads:[~2012-05-18 14:11 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-18 14:09 [PATCH RFC V2 0/6] Fix leap seconds and add tai clock Richard Cochran
2012-05-18 14:09 ` [PATCH RFC V2 1/6] time: remove obsolete declaration Richard Cochran
2012-05-21 23:57 ` John Stultz
2012-05-18 14:09 ` [PATCH RFC V2 2/6] ntp: remove useless parameter Richard Cochran
2012-05-21 23:58 ` John Stultz
2012-05-18 14:09 ` Richard Cochran [this message]
2012-05-21 18:09 ` [PATCH RFC V2 3/6] time: keep track of the pending utc/tai threshold John Stultz
2012-05-21 19:08 ` Richard Cochran
2012-05-22 17:39 ` Richard Cochran
2012-05-22 18:06 ` John Stultz
2012-05-23 8:29 ` Richard Cochran
2012-05-23 16:50 ` John Stultz
2012-05-23 19:17 ` Richard Cochran
2012-05-23 20:18 ` John Stultz
2012-05-24 6:43 ` Richard Cochran
2012-05-24 6:57 ` Richard Cochran
2012-05-26 15:07 ` Richard Cochran
2012-05-30 1:46 ` John Stultz
2012-05-30 1:49 ` John Stultz
2012-05-30 5:11 ` Richard Cochran
2012-05-30 5:56 ` John Stultz
2012-05-30 6:19 ` Richard Cochran
2012-05-30 6:23 ` John Stultz
2012-05-30 7:27 ` Richard Cochran
2012-05-23 19:42 ` Richard Cochran
2012-05-21 18:21 ` John Stultz
2012-05-21 19:13 ` Richard Cochran
2012-05-18 14:09 ` [PATCH RFC V2 4/6] time: introduce leap second functional interface Richard Cochran
2012-05-21 18:01 ` John Stultz
2012-05-21 19:18 ` Richard Cochran
2012-05-21 20:24 ` John Stultz
2012-05-22 4:25 ` Richard Cochran
2012-05-22 15:10 ` John Stultz
2012-05-18 14:09 ` [PATCH RFC V2 5/6] time: move leap second management into time keeping core Richard Cochran
2012-05-21 18:18 ` John Stultz
2012-05-21 19:24 ` Richard Cochran
2012-05-18 14:09 ` [PATCH RFC V2 6/6] time: Add CLOCK_TAI clockid Richard Cochran
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6777ac8ebc321c67d13fdb8d0a3d826332b60f1f.1337348892.git.richardcochran@gmail.com \
--to=richardcochran@gmail.com \
--cc=john.stultz@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®