Thank you Chris, this answers my question. I used CLOCK_REALTIME and observed the time jumping according to the timezone change and day light saving adjustment. I think CLOCK_TAI would be the right one to use, I will try this.
On Saturday, 29 October, 2022 at 01:23:13 pm GMT-4, Chris Caudle <ch...@chriscaudle.org> wrote: > Date: Fri, 28 Oct 2022 20:46:05 +0000 (UTC) > From: Nemo Crypto <nemo0948.cry...@gmail.com> > I am running ptp4l service as the slave in the system that I understand it > synchronizes the phc (hw clock) to the GMC. I am also running phc2sys which > synchronizes the system time to the phc clock that is being synchronized by > ptp4l. > > Now my application needs to use the system time that uses PTP timescale, not > UTC. Have you looked at the man page for phc2sys? If you want to set system time to PTP time rather than UTC then manually give an offset of 0 seconds to phc2sys. That would cause system time to be off from UTC by 37 seconds, so something to keep in mind. > . I figured out I should be using clock_gettime(). But confused with > different clock ids we have - CLOCK_MONOTONIC, CLOCK_REALTIME, > CLOCK_MONOTONIC_RAW, CLOCK_REALTIME_COARSE, CLOCK_MONOTONIC_COARSE, > CLOCK_REALTIME_ALARM, CLOCK_TAI etc. The recommended time scale for PTP is TAI, so if you want the system time to stay synchronized to UTC, but the application needs to use TAI, then just have the application use CLOCK_TAI. https://blog.meinbergglobal.com/2019/04/15/ptp-timescale-and-what-the-heck-is-arb-time/ > Please help me understand the differences of these different clock types? This is not really PTP specific, that is a general linux/unix/posix programming question. This Red Hat manual page might be a good start: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_for_real_time/7/html/reference_guide/sect-posix_clocks#:~:text=CLOCK_MONOTONIC%20%3A%20represents%20the%20time%20monotonically,CLOCK_MONOTONIC%20as%20the%20POSIX%20clock. I don't know if it has changed recently, but in the past it was the case that the kernel ignored anything having to do with leap second offsets, and relied on an application keeping track of that and setting the UTC-to-TAI offset correctly if it was needed. So depending on how your system is configured CLOCK_REALTIME and CLOCK_TAI may currently return the same value, even though as of late 2022 they should differ by 37 seconds. https://askubuntu.com/questions/675622/why-clock-tai-and-clock-realtime-returns-the-same-value/675644#675644 -- Chris Caudle _______________________________________________ Linuxptp-users mailing list Linuxptp-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxptp-users
_______________________________________________ Linuxptp-users mailing list Linuxptp-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxptp-users