Re: [chrony-dev] PPSAPI: kernel consumer

[ Thread Index | Date Index | More chrony.tuxfamily.org/chrony-dev Archives ]


On Mon, 8 Feb 2010 10:14:52 +0100
Miroslav Lichvar <mlichvar@xxxxxxxxxx> wrote:

> On Sat, Feb 06, 2010 at 04:32:13AM +0300, Alexander Gordeev wrote:
> > Do you plan to add a way to bind kernel consumer in chrony's new PPS
> > driver? This is an optional feature of PPSAPI as you surely know.
> 
> I'm not sure chrony will be able to use it. If I understand it
> correctly, it would need to give up control over frequency and phase
> adjustments which is necessary for keeping source stats accurate.

Right, you have to give up the control. But I don't understand why it's
a problem... You can monitor frequency changes using adjtimex and
phase changes using PPS signal itself. After all in this mode the
user-space time daemon is used primarily to unbind PPS kernel consumer
when the local time has changed in a leap and is more than a second
from the standard. Then it adjusts the time and binds the kernel
consumer back. I like chrony very much because it can do its job really
good. But the kernel implementation is so very simple and
straightforward and works good as well. And this is a part of PPSAPI.
I mean that it would be great to have choice.

> > I've tested chrony's PPS driver and I'm really shocked with its
> > synchronization quality. It is a HUGE improvement over ntpd. It was
> > hard to believe that it can sync clock with a precision of 1-2us but
> > it is true. However, my new kernel consumer seems to be able to
> > keep the same precision, but it can sync faster (in few seconds). 
> 
> I think chrony could do that too if the kernel interface allowed a
> tight loop.
> 
> This could be an extension to adjtimex which would allow us to know
> either remaining singleshot adjustment (ideally in nanoseconds) or
> when exactly did the last change in frequency happen.

I doubt that adjtimex will ever be extended. In the kernel I use
MONOTONIC_RAW clock to calculate frequency adjustments and REALTIME
clock for the phase. Seems to me this is the most straightforward way.
But AFAIK MONOTONIC_RAW is Linux-specific.

-- 
  Alexander

Attachment: signature.asc
Description: PGP signature



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/