> -----Original Message-----
> From: Gary E. Miller [mailto:g...@rellim.com]
> Sent: Tuesday, February 24, 2015 2:55 PM
> To: Keller, Jacob E
> Cc: linuxptp-devel@lists.sourceforge.net
> Subject: Re: [Linuxptp-devel] ntp SHMs
> 
> Yo Jacob E!
> 
> On Tue, 24 Feb 2015 22:32:40 +0000
> "Keller, Jacob E" <jacob.e.kel...@intel.com> wrote:
> 
> > > > This is telling you that your clock time (CLOCK_REALTIME) is off
> > > > by 70,000 seconds. That's not happy.
> > >
> > > Except my clock time is off by about 60 uSec.  At least until
> > > phc2sys tries to 'fix' the problem.
> > >
> >
> > No. That is a mis-understanding. Your internal NIC clock is off by 60
> > uSec.
> 
> No misunderstanding.  My slave is NTP connected, so I KNOW the
> system clock is off by 60 uSec from the clock master.
> 
> > Your REALTIME clock is not the NIC clock, but actually the
> > kernel time,
> 
> Never thought otherwise.
> 
> > and *that* is what phc2sys offset is for.
> 
> Hmm, I see the confusion, I never mentioned my phc2sys offest.  Until
> it goes to 70,000 seconds....
> 

Correct. I was not assuming that you had another way to measure system time 
offset from the master.

> > > > So this looks quit suspicious as a driver bug. Especially as it
> > > > appears to be toggling between a large positive and negative
> > > > value I am recalling something similar.
> > >
> > > Ouch.  I am on an Intel I217-LM  with the e1000e driver.
> >
> > Ya. I looked at the driver for this, but nothing was obvious. The
> > issue I thought might be related appears to be fine in the 3.19
> > kernel.
> 
> Another dead end...
> 
> > > Got a suggested config and procedure for that?
> >
> > Please just run your setup without running phc2sys, and use -l6 on
> > ptp4l instead of -l7.
> 
> So, to be clear. is this exactly what you want me to try:
> 
> The ptp.conf:
> 
>     [global]
>     clock_servo     linreg
>     uds_address     /var/run/ptp4l
> 
> 
> # killall ptp4l phc2sys
> # killall ptp4l phc2sys
> # ptp4l -i eth0 -l 6 -m -f ptp.conf &
> 
> > See if you get the same clock jump issue or not.
> 
> Since my ptp4l is in linreg mode, it can not jump my system clock.

To be clear, linreg is just a linear regression servo which could control the 
system clock, if you were doing software timestamping. In this case linreg is 
controlling the hardware MAC clock.

> 
> So what should I look for?
> 
> I just did that, looks ugly, but I really have no idea:
> 

This doesn't look ugly, you just likely mis-understand the output.

> # killall ptp4l phc2sys
> ptp4l: no process found
> phc2sys: no process found
> # ptp4l -i eth0 -l 6 -m -f ptp.conf
> ptp4l[52360.386]: selected /dev/ptp0 as PTP clock
> ptp4l[52360.386]: port 1: INITIALIZING to LISTENING on INITIALIZE
> ptp4l[52360.386]: port 0: INITIALIZING to LISTENING on INITIALIZE
> ptp4l[52362.144]: port 1: new foreign master 003048.fffe.345fe2-1
> ptp4l[52366.144]: selected best master clock 003048.fffe.345fe2
> ptp4l[52366.144]: foreign master not using PTP timescale
> ptp4l[52366.144]: port 1: LISTENING to UNCALIBRATED on RS_SLAVE

So it starts in uncalibrated mode, to prime the servo.

> ptp4l[52367.211]: master offset     -99132 s0 freq +599999998 path delay
> 46363
> ptp4l[52368.211]: master offset    -107849 s0 freq +599999998 path delay
> 46363
> ptp4l[52369.211]: master offset    -125869 s0 freq +599999998 path delay
> 55328
> ptp4l[52370.211]: master offset    -134962 s1 freq +599994160 path delay
> 55306
> ptp4l[52371.211]: master offset -599870879 s2 freq +186802553 path delay
> 55306
> ptp4l[52371.211]: port 1: UNCALIBRATED to SLAVE on
> MASTER_CLOCK_SELECTED
> ptp4l[52372.211]: master offset -786797418 s2 freq -149872567 path delay
> 55306
> ptp4l[52373.211]: master offset -637009628 s2 freq -599999999 path delay
> 58203
> ptp4l[52374.211]: master offset  -37092094 s2 freq -37208915 path delay
> 60342
> ptp4l[52375.211]: master offset     244012 s2 freq +177926 path delay
> 58203
> 
> Strangely a kill and restart looks reasonable:
> 

You didn't let it run long enough to stabilize but restarting is probably fine.

> kong linuxptp #  ptp4l -i eth0 -l 6 -m -f ptp.conf
> ptp4l[52498.377]: selected /dev/ptp0 as PTP clock
> ptp4l[52498.378]: port 1: INITIALIZING to LISTENING on INITIALIZE
> ptp4l[52498.378]: port 0: INITIALIZING to LISTENING on INITIALIZE
> ptp4l[52500.147]: port 1: new foreign master 003048.fffe.345fe2-1
> ptp4l[52504.147]: selected best master clock 003048.fffe.345fe2
> ptp4l[52504.147]: foreign master not using PTP timescale
> ptp4l[52504.147]: port 1: LISTENING to UNCALIBRATED on RS_SLAVE
> ptp4l[52506.215]: master offset    -125996 s0 freq +177925 path delay
> 66149
> ptp4l[52507.215]: master offset    -114049 s0 freq +177925 path delay
> 46374
> ptp4l[52508.215]: master offset    -126964 s0 freq +177925 path delay
> 49315
> ptp4l[52509.215]: master offset    -136826 s1 freq +177442 path delay
> 52187
> ptp4l[52510.215]: master offset    -188068 s2 freq  -21513 path delay
> 52187
> ptp4l[52510.215]: port 1: UNCALIBRATED to SLAVE on
> MASTER_CLOCK_SELECTED
> ptp4l[52511.216]: master offset    -176435 s2 freq  -97696 path delay
> 52187
> ptp4l[52512.215]: master offset     -89938 s2 freq -100192 path delay
> 55059
> ptp4l[52513.216]: master offset       1079 s2 freq   -9460 path delay     
> 54937
> ptp4l[52514.215]: master offset       1241 s2 freq   -8949 path delay     
> 54937
> ptp4l[52515.216]: master offset       1141 s2 freq   -8099 path delay     
> 54815
> ptp4l[52516.216]: master offset       1815 s2 freq   -7358 path delay     
> 54242
> ptp4l[52517.216]: master offset       2330 s2 freq   -5907 path delay     
> 51492
> ptp4l[52518.216]: master offset       -102 s2 freq   -7236 path delay     
> 51492
> ptp4l[52519.216]: master offset      -2551 s2 freq  -10142 path delay
> 52478
> ptp4l[52520.216]: master offset      -1582 s2 freq  -10594 path delay
> 53035
> ptp4l[52521.216]: master offset        -90 s2 freq   -9519 path delay     
> 53035
> ptp4l[52522.216]: master offset        543 s2 freq   -8594 path delay     
> 53035
> ptp4l[52523.216]: master offset       -958 s2 freq   -8997 path delay     
> 54242
> ptp4l[52524.216]: master offset       -656 s2 freq   -9885 path delay     
> 54242
> ptp4l[52525.216]: master offset       -735 s2 freq   -9723 path delay     
> 54242
> ptp4l[52526.216]: master offset       2322 s2 freq   -8113 path delay     
> 53035
> ptp4l[52527.216]: master offset       1049 s2 freq   -8521 path delay     
> 53035
> ptp4l[52528.216]: master offset        575 s2 freq   -8585 path delay     
> 53035
> ptp4l[52529.216]: master offset       2479 s2 freq   -7484 path delay     
> 51843
> ptp4l[52530.216]: master offset       -655 s2 freq   -8534 path delay     
> 53237
> ptp4l[52531.216]: master offset      -3311 s2 freq  -10634 path delay
> 54517
> ptp4l[52532.216]: master offset      -1199 s2 freq   -9462 path delay     
> 54517
> ptp4l[52533.216]: master offset       -542 s2 freq   -9120 path delay     
> 55101
> ptp4l[52534.216]: master offset        529 s2 freq   -8762 path delay     
> 54517
> ptp4l[52535.216]: master offset       2668 s2 freq   -8258 path delay     
> 51809
> ptp4l[52536.216]: master offset       4866 s2 freq   -7613 path delay     
> 48985
> ptp4l[52537.216]: master offset       2497 s2 freq   -8015 path delay     
> 48985
> ptp4l[52538.216]: master offset       3183 s2 freq   -7700 path delay     
> 48012
> ptp4l[52539.216]: master offset       3050 s2 freq   -7731 path delay     
> 48012
> ptp4l[52540.216]: master offset      -2442 s2 freq   -8956 path delay     
> 51809
> ptp4l[52541.216]: master offset      -5123 s2 freq   -9862 path delay     
> 53957
> ptp4l[52542.216]: master offset      -3089 s2 freq   -9278 path delay     
> 53957
> ptp4l[52543.217]: master offset      -1177 s2 freq   -8960 path delay     
> 52186
> ptp4l[52544.216]: master offset      -1132 s2 freq   -9018 path delay     
> 52186
> ptp4l[52545.217]: master offset      -1822 s2 freq   -8931 path delay     
> 52186
> ptp4l[52546.217]: master offset       2700 s2 freq   -8034 path delay     
> 48389
> ptp4l[52547.217]: master offset         39 s2 freq   -9219 path delay     
> 49659
> ptp4l[52548.217]: master offset        276 s2 freq   -8977 path delay     
> 49659
> ptp4l[52549.217]: master offset      -2340 s2 freq   -8971 path delay     
> 52804
> ptp4l[52550.217]: master offset      -2604 s2 freq   -8968 path delay     
> 52804
> ptp4l[52551.217]: master offset      -2020 s2 freq   -8958 path delay     
> 52804
> ptp4l[52552.217]: master offset        304 s2 freq   -8816 path delay     
> 49659
> ptp4l[52553.217]: master offset       1610 s2 freq   -8671 path delay     
> 48560
> ptp4l[52554.217]: master offset       3023 s2 freq   -8503 path delay     
> 47050
> ptp4l[52555.217]: master offset       4238 s2 freq   -8378 path delay     
> 45505
> 
> It is possible the PLL is going nuts on startup?

It's probably due to starting in the weird state you did. If you let it run 
long enough it should stabilize.

If you leave this running do you *ever* see "clock check" errors like we were 
seeing before with both phc2sys and ptp4l?

> 
> > Also if you have the kernel documentation installed, you can use
> > Documentation/ptp/testptp.c in order to read the PTP hardware clock
> > directly.
> >
> > Try building that and running
> 
> Tried, failed:
> 
> kong ptp # make testptp
> cc     testptp.c   -o testptp
> /tmp/ccfvNFmZ.o: In function `main':
> testptp.c:(.text+0xa78): undefined reference to `timer_create'
> testptp.c:(.text+0xad8): undefined reference to `timer_settime'
> testptp.c:(.text+0xb04): undefined reference to `timer_delete'
> testptp.c:(.text+0xb50): undefined reference to `timer_create'
> testptp.c:(.text+0xbbf): undefined reference to `timer_settime'
> collect2: error: ld returned 1 exit status
> <builtin>: recipe for target 'testptp' failed
> make: *** [testptp] Error 1
> 
> Ideas?
> 

Try building it like "make M=Documentation/ptp/" from the top level.

> > ./testptp -g -d /dev/ptpX
> >
> > Where ptpX is your device's ptp device, which you can see via ethtool
> > -T
> >
> > You can use that to sanity check whether the PTP device is being set
> > correctly. It should match your remote PTP master's time.
> 
> If I can build it...
> 
> RGDS
> GARY
> ---------------------------------------------------------------------------
> Gary E. Miller Rellim 109 NW Wilmington Ave., Suite E, Bend, OR 97701
>       g...@rellim.com  Tel:+1(541)382-8588

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Linuxptp-devel mailing list
Linuxptp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel

Reply via email to