On Fri, Aug 27, 2010 at 01:41:54PM +0100, Alan Cox wrote: > > The master node in a PTP network probably takes its time from a > > precise external time source, like GPS. The GPS provides a 1 PPS > > directly to the PTP clock hardware, which latches the PTP hardware > > clock time on the PPS edge. This provides one sample as input to a > > clock servo (in the PTPd) that, in turn, regulates the PTP clock > > hardware. > > A PTP clock is TAI, Unix time is UTC.
But TAI and UTC progress at the same rate, and UTC differs from TAI by a constant offset. In fact, the needed conversion is provided by the protocol, so it is not hard to take a 1 PPS from GPS and set the PTP clock to TAI. > > This is the core issue and source of misunderstanding, in my view. The > > fact of the matter is, the current generation of computers has > > multiple clocks, and these are usually unsynchronized. I think we > > should not try too hard to cover up or work around this. It is a fact > > of life. > > In this case I don't think you can. Their divergence is rather difficult > to handle unless you have a GPS to hand. > > But all this talk of "PTP this" and "PTP that" is not helpful. Any > interface for additional time sources should be generic with PTP being > one use case. To tell the truth, my original motivation for the patch set was to support PTP clocks and applications. I don't think that is such a bad idea. After all, the adjtimex interface was added just to support NTP. At the same time, I can understand the desire to have a generic hardware clock adjustment API. Let me see if I can understand and summarize what people are asking for: clock_adjtime(clockid_t id, struct timex *t); and struct timex gets some new fields at the end. Using the call, NTPd can call clock_adjtime(CLOCK_REALTIME) and PTPd can call clock_realtime(CLOCK_PTP) and everyone is happy, no? Thanks, Richard _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev