From: Ingo Molnar <mingo@kernel.org>
To: John Stultz <john.stultz@linaro.org>
Cc: Linux Kernel <linux-kernel@vger.kernel.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Richard Cochran <richardcochran@gmail.com>,
Prarit Bhargava <prarit@redhat.com>,
Thomas Gleixner <tglx@linutronix.de>,
John Stultz <johnstul@us.ibm.com>
Subject: Re: [PATCH 7/8] time: Move xtime_nsec adjustment underflow handling timekeeping_adjust
Date: Fri, 13 Jul 2012 08:04:31 +0200 [thread overview]
Message-ID: <20120713060431.GF18065@gmail.com> (raw)
In-Reply-To: <1342156917-25092-8-git-send-email-john.stultz@linaro.org>
* John Stultz <john.stultz@linaro.org> wrote:
> When we make adjustments speeding up the clock, its possible
> for xtime_nsec to underflow. We already handle this properly,
> but we do so from update_wall_time() instead of the more logical
> timekeeping_adjust(), where the possible underflow actually
> occurs.
>
> Thus, move the correction logic to the timekeeping_adjust, which
> is the function that causes the issue. Making update_wall_time()
> more readable.
>
> CC: Ingo Molnar <mingo@kernel.org>
> CC: Peter Zijlstra <a.p.zijlstra@chello.nl>
> CC: Richard Cochran <richardcochran@gmail.com>
> CC: Prarit Bhargava <prarit@redhat.com>
> CC: Thomas Gleixner <tglx@linutronix.de>
> Signed-off-by: John Stultz <johnstul@us.ibm.com>
> ---
> kernel/time/timekeeping.c | 42 +++++++++++++++++++++---------------------
> 1 file changed, 21 insertions(+), 21 deletions(-)
>
> diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
> index dd119355..4b76432 100644
> --- a/kernel/time/timekeeping.c
> +++ b/kernel/time/timekeeping.c
> @@ -987,6 +987,27 @@ static void timekeeping_adjust(s64 offset)
> timekeeper.xtime_nsec -= offset;
> timekeeper.ntp_error -= (interval - offset) <<
> timekeeper.ntp_error_shift;
> +
> + /*
> + * It may be possible that when we entered this function, xtime_nsec
> + * was very small. Further, if we're slightly speeding the clocksource
> + * in the code above, its possible the required corrective factor to
> + * xtime_nsec could cause it to underflow.
s/slightly speeding/slightly speeding up ?
> + *
> + * Now, since we already accumulated the second, cannot simply roll
> + * the accumulated second back, since the NTP subsystem has been
s/cannot/we cannot ?
Thanks,
Ingo
next prev parent reply other threads:[~2012-07-13 6:04 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-13 5:21 [PATCH 0/8] Time fixes and cleanups for 3.6 John Stultz
2012-07-13 5:21 ` [PATCH 1/8] ntp: Fix STA_INS/DEL clearing bug John Stultz
2012-07-13 5:58 ` Ingo Molnar
2012-07-13 18:36 ` John Stultz
2012-07-15 7:57 ` [tip:timers/urgent] " tip-bot for John Stultz
2012-07-13 5:21 ` [PATCH 2/8] time: Whitespace cleanups per Ingo's requests John Stultz
2012-07-15 8:56 ` [tip:timers/core] time: Whitespace cleanups per Ingo%27s requests tip-bot for John Stultz
2012-07-13 5:21 ` [PATCH 3/8] time: Explicitly use u32 instead of int for shift values John Stultz
2012-07-15 8:57 ` [tip:timers/core] " tip-bot for John Stultz
2012-07-13 5:21 ` [PATCH 4/8] time: Condense timekeeper.xtime into xtime_sec John Stultz
2012-07-13 6:00 ` Ingo Molnar
2012-07-15 8:57 ` [tip:timers/core] " tip-bot for John Stultz
2012-08-19 21:02 ` [PATCH 4/8] " Andreas Schwab
2012-08-19 21:02 ` Andreas Schwab
2012-08-20 18:58 ` John Stultz
2012-08-20 18:58 ` John Stultz
2012-08-20 19:45 ` Andreas Schwab
2012-08-20 19:45 ` Andreas Schwab
2012-08-20 19:57 ` John Stultz
2012-08-20 19:57 ` John Stultz
2012-08-20 20:04 ` Andreas Schwab
2012-08-20 20:04 ` Andreas Schwab
2012-08-21 3:38 ` John Stultz
2012-08-21 3:38 ` John Stultz
2012-08-21 7:14 ` Andreas Schwab
2012-08-21 7:14 ` Andreas Schwab
2012-08-21 18:14 ` John Stultz
2012-08-21 18:14 ` John Stultz
2012-07-13 5:21 ` [PATCH 5/8] time: Refactor accumulation of nsecs to secs John Stultz
2012-07-13 5:56 ` Ingo Molnar
2012-07-13 6:01 ` Ingo Molnar
2012-07-15 8:58 ` [tip:timers/core] " tip-bot for John Stultz
2012-07-13 5:21 ` [PATCH 6/8] time: Move arch_gettimeoffset() usage into timekeeping_get_ns() John Stultz
2012-07-13 6:03 ` Ingo Molnar
2012-07-15 8:59 ` [tip:timers/core] " tip-bot for John Stultz
2012-07-13 5:21 ` [PATCH 7/8] time: Move xtime_nsec adjustment underflow handling timekeeping_adjust John Stultz
2012-07-13 6:04 ` Ingo Molnar [this message]
2012-07-15 9:00 ` [tip:timers/core] " tip-bot for John Stultz
2012-07-13 5:21 ` [PATCH 8/8] time: Rework timekeeping functions to take timekeeper ptr as argument John Stultz
2012-07-15 9:01 ` [tip:timers/core] " tip-bot for John Stultz
2012-07-13 6:05 ` [PATCH 0/8] Time fixes and cleanups for 3.6 Ingo Molnar
2012-07-13 20:49 ` John Stultz
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=20120713060431.GF18065@gmail.com \
--to=mingo@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=john.stultz@linaro.org \
--cc=johnstul@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=prarit@redhat.com \
--cc=richardcochran@gmail.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.