diff options
author | Steven Rostedt <rostedt@goodmis.org> | 2012-08-02 18:56:52 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@rostedt.homelinux.com> | 2013-12-06 20:56:20 -0500 |
commit | d5de66fd1ae43cd5f5ed6aa8f60ee16c211493ba (patch) | |
tree | bbf0202dfd7607c69bd089cee24e7c09f59ad64e | |
parent | bc9058d89bfbd06b1c80b0cc4107fddcd3e32ce2 (diff) |
time/rt: Fix up leap-second backport for RT changes
The leap-second backport broke RT, and a few changes had to be done.
1) The second_overflow now encompasses ntp_leap_second, and since
second_overflow is called with the xtime_lock held, we can not take that
lock either. (this update was done during the rebase).
2) Change ktime_get_update_offsets() to use read_seqcount_begin() instead
of read_seq_begin() (and retry).
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r-- | kernel/time/timekeeping.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c index 1d263f52ced1..da2fe62facf0 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c @@ -1333,7 +1333,7 @@ ktime_t ktime_get_update_offsets(ktime_t *offs_real, ktime_t *offs_boot) u64 secs, nsecs; do { - seq = read_seqbegin(&timekeeper.lock); + seq = read_seqcount_begin(&timekeeper.seq); secs = timekeeper.xtime.tv_sec; nsecs = timekeeper.xtime.tv_nsec; @@ -1343,7 +1343,7 @@ ktime_t ktime_get_update_offsets(ktime_t *offs_real, ktime_t *offs_boot) *offs_real = timekeeper.offs_real; *offs_boot = timekeeper.offs_boot; - } while (read_seqretry(&timekeeper.lock, seq)); + } while (read_seqcount_retry(&timekeeper.seq, seq)); now = ktime_add_ns(ktime_set(secs, 0), nsecs); now = ktime_sub(now, *offs_real); |