From: Gabriel Paubert <paubert@iram.es>
To: David Brownell <david-b@pacbell.net>
Cc: Alessandro Zummo <a.zummo@towertech.it>,
Paul Mundt <lethal@linux-sh.org>,
David Woodhouse <dwmw2@infradead.org>,
rtc-linux@googlegroups.com, linuxppc-dev@ozlabs.org
Subject: Re: [RFC PATCH] rtc: add rtc_systohc for ntp use
Date: Wed, 12 Nov 2008 09:05:38 +0100 [thread overview]
Message-ID: <20081112080538.GA2711@iram.es> (raw)
In-Reply-To: <200811111258.59874.david-b@pacbell.net>
On Tue, Nov 11, 2008 at 12:58:59PM -0800, David Brownell wrote:
> On Tuesday 11 November 2008, David Woodhouse wrote:
> > I believe you were also concerned that some device wouldn't want the
> > behaviour given by the existing sync_cmos_clock() function and workqueue
> > stuff in kernel/ntp.c, where we update the clock precisely half-way
> > through the second?
>
> That's a problem, yes. I've never heard of any RTC that wants
> such delays ... except for the PC's "CMOS" RTC.
Indeed, they are the oddball, although very frequent. Could it be
made a constant (500msec on x86, 0 on all other architectures) ?
>
> There was some discussion about how to expose that knowledge to
> userspace too. The "hwclock" utility always imposes that delay,
> and it shouldn't (except when talking to a PC RTC).
>
> > We should probably rip that code out of ntp.c (or just disable it ifdef
> > CONFIG_RTC_CLASS), and provide our own version of notify_cmos_timer().
>
> My suggestion for in-kernel code is that "struct rtc_device" just
> grow a field like "unsigned settime_delay_msec" which would never
> be initialized except by rtc-cmos (which uses 500) ... and the NTP
> sync code would use that value.
Hmm, I believed that most internal interfaces are now using nanoseconds
for subsecond fields and values; 500000000 also fits in 32 bits and may
avoid some unnecessary arithmetic. It is obviously overkill with 32768Hz
crystals but consistency is nice.
>
> For out-of-kernel use, that value could be extracted with an ioctl(),
> and used similarly.
>
>
> > The workqueue stuff to trigger at half-past the second could be kept as
> > a library function which most RTC devices would use, but they'd have the
> > option to use their own instead.
>
> I thought the workqueue stuff was primarily there to make sure
> that RTC was always updated in task context -- so it can grab the
> relevant mutex -- and the half-second delay was legacy PC code ...
Please allow configs that only use RTC internally without exposing
the driver to userspace.
At least that's how I use the RTC, I have some messages on shutdown telling
me that the clock could not be accessed but I don't care since all these
machines have ntp and the RTC is completely useless for anything else than
setting the time quite precisely on reboot (on some of the boards I have,
the RTC interrupt is not even wired, so no alarm, no periodic interrupt).
Gabriel
prev parent reply other threads:[~2008-11-12 8:05 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-10 15:40 [RFC PATCH] rtc: add rtc_systohc for ntp use Alessandro Zummo
2008-11-10 22:57 ` David Brownell
2008-11-10 23:05 ` Alessandro Zummo
2008-11-11 14:10 ` David Woodhouse
2008-11-11 17:17 ` Gabriel Paubert
2008-11-11 18:11 ` [rtc-linux] " Alessandro Zummo
2008-11-11 20:58 ` David Brownell
2008-11-12 8:05 ` Gabriel Paubert [this message]
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=20081112080538.GA2711@iram.es \
--to=paubert@iram.es \
--cc=a.zummo@towertech.it \
--cc=david-b@pacbell.net \
--cc=dwmw2@infradead.org \
--cc=lethal@linux-sh.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=rtc-linux@googlegroups.com \
/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).