From: Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
To: Richard Cochran <richardcochran-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Alan Cox <alan-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>,
Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
Christoph Lameter <cl-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>,
David Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>,
John Stultz <johnstul-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>,
Krzysztof Halasa <khc-9GfyWEdoJtJmR6Xm/wNWPw@public.gmane.org>,
Peter Zijlstra <peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
Rodolfo Giometti <giometti-k2GhghHVRtY@public.gmane.org>
Subject: Re: [PATCH V7 1/8] ntp: add ADJ_SETOFFSET mode bit
Date: Thu, 16 Dec 2010 18:48:12 +0100 (CET) [thread overview]
Message-ID: <alpine.LFD.2.00.1012161844140.12146@localhost6.localdomain6> (raw)
In-Reply-To: <880d82bb8120f73973db27e0c48e949014b1a106.1292512461.git.richard.cochran-3mrvs1K0uXizZXS1Dc/lvw@public.gmane.org>
On Thu, 16 Dec 2010, Richard Cochran wrote:
> + if (txc->modes & ADJ_SETOFFSET) {
> + /* Validate the delta value. */
> + if (txc->time.tv_sec && txc->time.tv_usec < 0)
> + return -EINVAL;
> +
> + if (txc->modes & ADJ_NANO) {
> + struct timespec tmp;
> + tmp.tv_sec = txc->time.tv_sec;
> + tmp.tv_nsec = txc->time.tv_usec;
> + delta = timespec_to_ktime(tmp);
> + } else
> + delta = timeval_to_ktime(txc->time);
> +
> + /* Adding the delta should be an "atomic" operation. */
> + local_irq_disable();
I really do not like that conditional irq_disable(), especially as we
disable them further down again and we only safe the getnstimeofday()
call in the non ADJSETOFFSET code path.
So we really better do that unconditionally before getnstimeofday()
with an appropriate comment and change the write_seqlock_irq() to
write_seqlock().
> + }
> +
> getnstimeofday(&ts);
>
> + if (txc->modes & ADJ_SETOFFSET) {
> + kt = timespec_to_ktime(ts);
> + kt = ktime_add(kt, delta);
> + ts = ktime_to_timespec(kt);
> + do_settimeofday(&ts);
> + local_irq_enable();
> + }
> +
> write_seqlock_irq(&xtime_lock);
Thanks,
tglx
>
next prev parent reply other threads:[~2010-12-16 17:48 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-16 15:41 [PATCH V7 0/8] ptp: IEEE 1588 hardware clock support Richard Cochran
[not found] ` <cover.1292512461.git.richard.cochran-3mrvs1K0uXizZXS1Dc/lvw@public.gmane.org>
2010-12-16 15:41 ` [PATCH V7 1/8] ntp: add ADJ_SETOFFSET mode bit Richard Cochran
[not found] ` <880d82bb8120f73973db27e0c48e949014b1a106.1292512461.git.richard.cochran-3mrvs1K0uXizZXS1Dc/lvw@public.gmane.org>
2010-12-16 17:48 ` Thomas Gleixner [this message]
2010-12-17 20:16 ` Kuwahara,T.
[not found] ` <AANLkTi=yGoFwYt4p_LeHtAQyYgmURspO-p57UdL0sUEZ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-12-21 7:56 ` Richard Cochran
[not found] ` <20101221075612.GA13626-7KxsofuKt4IfAd9E5cN8NEzG7cXyKsk/@public.gmane.org>
2010-12-21 20:57 ` Kuwahara,T.
[not found] ` <AANLkTimJd5pScKTiDxuYd-h+NevYbCusyvUAqmUDXe8h-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-12-21 22:25 ` john stultz
2010-12-22 7:13 ` Richard Cochran
2010-12-22 20:27 ` Kuwahara,T.
[not found] ` <AANLkTimmTzH8+fSYmbajqZ+hU5Ps-UZaTp_1TYzjHB6P-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-12-23 0:00 ` john stultz
2010-12-23 6:13 ` Richard Cochran
2010-12-25 20:38 ` Kuwahara,T.
2010-12-26 14:14 ` Richard Cochran
2010-12-21 19:37 ` john stultz
2010-12-21 21:13 ` Kuwahara,T.
[not found] ` <AANLkTikHV-qN73Zvvvxn76vtFFKG_VNTQhF3qpqTnOrE-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-12-21 21:59 ` john stultz
2010-12-22 7:11 ` Richard Cochran
2010-12-22 9:58 ` Alexander Gordeev
2010-12-16 15:42 ` [PATCH V7 2/8] posix clocks: introduce a syscall for clock tuning Richard Cochran
[not found] ` <a93ce18c2987f7e102bc2ff5b12130211c222ea7.1292512461.git.richard.cochran-3mrvs1K0uXizZXS1Dc/lvw@public.gmane.org>
2010-12-16 15:51 ` Arnd Bergmann
2010-12-16 17:55 ` Thomas Gleixner
2010-12-16 15:43 ` [PATCH V7 4/8] posix clocks: hook dynamic clocks into system calls Richard Cochran
[not found] ` <6241238a1df55033e50b151ec9d35ba957e43d53.1292512461.git.richard.cochran-3mrvs1K0uXizZXS1Dc/lvw@public.gmane.org>
2010-12-16 23:20 ` Thomas Gleixner
2010-12-17 7:04 ` Richard Cochran
[not found] ` <20101217070450.GB2982-7KxsofuKt4IfAd9E5cN8NEzG7cXyKsk/@public.gmane.org>
2010-12-17 10:03 ` Thomas Gleixner
2010-12-21 8:00 ` Richard Cochran
2010-12-22 8:21 ` Richard Cochran
2010-12-16 15:44 ` [PATCH V7 5/8] ptp: Added a brand new class driver for ptp clocks Richard Cochran
2010-12-16 15:57 ` Arnd Bergmann
2010-12-16 16:08 ` Rodolfo Giometti
2010-12-16 15:44 ` [PATCH V7 7/8] ptp: Added a clock driver for the IXP46x Richard Cochran
[not found] ` <d2e0a5ac5eb51e9e4c7fcc94723b67c72c2f57c1.1292512461.git.richard.cochran-3mrvs1K0uXizZXS1Dc/lvw@public.gmane.org>
2011-01-02 8:45 ` Pavel Machek
[not found] ` <20110102084505.GA3980-+ZI9xUNit7I@public.gmane.org>
2011-01-02 9:12 ` Richard Cochran
[not found] ` <20110102091233.GA2847-7KxsofuKt4IfAd9E5cN8NEzG7cXyKsk/@public.gmane.org>
2011-01-02 9:20 ` Pavel Machek
2011-01-03 17:07 ` Richard Cochran
[not found] ` <20110103170732.GA3700-7KxsofuKt4IfAd9E5cN8NEzG7cXyKsk/@public.gmane.org>
2011-01-06 20:04 ` Pavel Machek
2011-01-02 9:19 ` Richard Cochran
2010-12-16 15:43 ` [PATCH V7 3/8] posix clocks: introduce dynamic clocks Richard Cochran
[not found] ` <8debe4d48d9a6484b7fbd35d8888524155fed977.1292512461.git.richard.cochran-3mrvs1K0uXizZXS1Dc/lvw@public.gmane.org>
2010-12-16 16:16 ` Arnd Bergmann
2010-12-16 20:56 ` Thomas Gleixner
2010-12-17 6:29 ` Richard Cochran
2010-12-16 15:44 ` [PATCH V7 6/8] ptp: Added a clock that uses the eTSEC found on the MPC85xx Richard Cochran
2010-12-16 15:45 ` [PATCH V7 8/8] ptp: Added a clock driver for the National Semiconductor PHYTER 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=alpine.LFD.2.00.1012161844140.12146@localhost6.localdomain6 \
--to=tglx-hfztesqfncyowbw4kg4ksq@public.gmane.org \
--cc=alan-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org \
--cc=arnd-r2nGTMty4D4@public.gmane.org \
--cc=cl-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org \
--cc=davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org \
--cc=giometti-k2GhghHVRtY@public.gmane.org \
--cc=johnstul-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org \
--cc=khc-9GfyWEdoJtJmR6Xm/wNWPw@public.gmane.org \
--cc=linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
--cc=richardcochran-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
/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;
as well as URLs for NNTP newsgroup(s).