From: Ingo Molnar <mingo@elte.hu>
To: John Stultz <john.stultz@linaro.org>
Cc: lkml <linux-kernel@vger.kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Eric Dumazet <eric.dumazet@gmail.com>,
Richard Cochran <richardcochran@gmail.com>
Subject: Re: [PATCH 1/7] time: Condense timekeeper.xtime into xtime_sec
Date: Tue, 28 Feb 2012 09:06:47 +0100 [thread overview]
Message-ID: <20120228080647.GC21106@elte.hu> (raw)
In-Reply-To: <1330388974-27793-2-git-send-email-john.stultz@linaro.org>
* John Stultz <john.stultz@linaro.org> wrote:
> --- a/kernel/time/timekeeping.c
> +++ b/kernel/time/timekeeping.c
> @@ -39,8 +39,11 @@ struct timekeeper {
> /* Raw nano seconds accumulated per NTP interval. */
> u32 raw_interval;
>
> - /* Clock shifted nano seconds remainder not stored in xtime.tv_nsec. */
> + /* Current CLOCK_REALTIME time in seconds */
> + u64 xtime_sec;
> + /* Clock shifted nano seconds */
> u64 xtime_nsec;
> +
> /* Difference between accumulated time and NTP time in ntp
> * shifted nano seconds. */
> s64 ntp_error;
> @@ -48,8 +51,6 @@ struct timekeeper {
> * ntp shifted nano seconds. */
> int ntp_error_shift;
>
> - /* The current time */
> - struct timespec xtime;
Please use consistent vertical spacing for this structure.
> +static struct timespec timekeeper_xtime(struct timekeeper *tk)
> +{
> + struct timespec ts;
> +
> + ts.tv_sec = tk->xtime_sec;
> + ts.tv_nsec = (long)(tk->xtime_nsec >> tk->shift);
> + return ts;
> +}
btw., is tk->shift intentionally a signed int? If not then it
would be better to make it u32, like tk->mult, to make sure the
compiler never does complex signed arithmetics - and to clean up
'struct timekeeper'.
> +
> +static void timekeeper_set_xtime(struct timekeeper *tk,
> + const struct timespec *ts)
Pointless (because ugly) line break.
> +{
> + tk->xtime_sec = ts->tv_sec;
> + tk->xtime_nsec = ts->tv_nsec << tk->shift;
> +}
> +
> +
> +static void timekeeper_xtime_add(struct timekeeper *tk,
> + const struct timespec *ts)
Pointless (because ugly) line break.
Thanks,
Ingo
next prev parent reply other threads:[~2012-02-28 8:07 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-28 0:29 [GIT PULL][PATCH 0/7] Reduce timekeeping lock hold time John Stultz
2012-02-28 0:29 ` [PATCH 1/7] time: Condense timekeeper.xtime into xtime_sec John Stultz
2012-02-28 8:06 ` Ingo Molnar [this message]
2012-02-28 8:17 ` John Stultz
2012-02-28 8:30 ` Ingo Molnar
2012-02-28 0:29 ` [PATCH 2/7] time: Rework timekeeping functions to take timekeeper ptr as argument John Stultz
2012-02-28 0:29 ` [PATCH 3/7] time: Split timekeeper lock into separate reader/writer locks John Stultz
2012-02-28 8:08 ` Ingo Molnar
2012-02-28 0:29 ` [PATCH 4/7] time: Update timekeeper structure using a local shadow John Stultz
2012-02-28 8:12 ` Ingo Molnar
2012-02-28 0:29 ` [PATCH 5/7] time: Shadow cycle_last in timekeeper structure John Stultz
2012-02-28 8:16 ` Ingo Molnar
2012-02-28 0:29 ` [PATCH 6/7] time: Reduce timekeeper read lock hold time John Stultz
2012-02-28 0:29 ` [PATCH 7/7] time: Convert the timekeeper's wlock to a raw_spin_lock 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=20120228080647.GC21106@elte.hu \
--to=mingo@elte.hu \
--cc=eric.dumazet@gmail.com \
--cc=john.stultz@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--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.