Menu

Clocks not converging with 2.6.20 kernel

Help
jrm25
2007-02-22
2012-11-23
  • jrm25

    jrm25 - 2007-02-22

    Hello,

    I'm having a problem running ptpd slaves under the Linux 2.6.20 kernel - the offset from the master seems to oscillate by +/- 50ms, and doesn't converge (see debug output below). Other slaves on the same LAN running earlier kernels (e.g. 2.6.15) converge quickly to stabilize at >1ms offset. If the problematic slaves are rebooted with an earlier kernel, they behave as expected.

    It may be quite unrelated, but ntpd (v4.2.2.p4) after running for a few hours, reported offset of c100 microseconds on the 2.6.20 kernel.

    I'd be very grateful for any suggestions, or to hear if anyone has successfully used ptpd on the 2.6.20 kernel...

    Thanks,

    James Mitchell
    University of Bath, UK

    Debug output from 2.6.20 slave (running ptpd from SVN checkout (r19) on the slave and master computers):

    master run with: ./ptpd -y0.5 -c -beth2 -t -s2
    (-t flag since ntpd is running with external time servers)

    slaves run with: ./ptpd -y0.5 -c -beth1 -t -s5

    (ptpd debug) allocated 1072 bytes for protocol engine data
    (ptpd debug) allocated 600 bytes for foreign master data
    (ptpd debug) event POWERUP
    (ptpd debug) state PTP_INITIALIZING
    (ptpd debug) manufacturerIdentity: Kendall;1b3
    (ptpd debug) netInit
    (ptpd debug) initData
    (ptpd debug) initTimer
    (ptpd debug) initClock
    (ptpd debug) sync message interval: 1
    (ptpd debug) clock identifier: DFLT
    (ptpd debug) 256*log2(clock variance): -4000
    (ptpd debug) clock stratum: 255
    (ptpd debug) clock preferred?: no
    (ptpd debug) bound interface name: eth1
    (ptpd debug) communication technology: 1
    (ptpd debug) uuid: 00:18:6e:27:81:e5
    (ptpd debug) PTP subdomain name: _DFLT
    (ptpd debug) subdomain address: e0.0.1.81
    (ptpd debug) event port address: 3f 1
    (ptpd debug) general port address: 40 1
    (ptpd debug) state PTP_LISTENING
    (ptpd debug) updateForeign: new record (0,1) 1 1 00:02:b3:04:1d:2b
    (ptpd debug) state PTP_PTP_SLAVE
    (ptpd debug) initClock
    (ptpd debug) Q = 0, R = 5
    (ptpd debug) expected something but nothing
    (ptpd debug) handleFollowUp: unwanted
    (ptpd debug) offset from master:               0s   -10374000ns
    (ptpd debug) observed drift:     -10374
    (ptpd debug) offset from master:               0s    -8793000ns
    (ptpd debug) observed drift:     -19167
    (ptpd debug) offset from master:               0s    15287500ns
    (ptpd debug) observed drift:      -3880
    (ptpd debug) offset from master:               0s    39460500ns
    (ptpd debug) observed drift:      35580
    (ptpd debug) Q = 0, R = 15
    (ptpd debug) handleDelayReq: self
    (ptpd debug) offset from master:               0s    11951500ns
    (ptpd debug) observed drift:      47531
    (ptpd debug) delay filter 3568500, 1
    (ptpd debug) offset from master:               0s   -17591750ns
    (ptpd debug) observed drift:      29940
    (ptpd debug) offset from master:               0s     4284000ns
    (ptpd debug) observed drift:      34224
    (ptpd debug) offset from master:               0s    27978000ns
    (ptpd debug) observed drift:      62202
    (ptpd debug) offset from master:               0s      319000ns
    (ptpd debug) observed drift:      62521
    (ptpd debug) offset from master:               0s   -26869500ns
    (ptpd debug) observed drift:      35652
    (ptpd debug) offset from master:               0s    -3112500ns
    (ptpd debug) observed drift:      32540
    (ptpd debug) offset from master:               0s    20476000ns
    (ptpd debug) observed drift:      53016
    (ptpd debug) offset from master:               0s    44698000ns
    (ptpd debug) observed drift:      97714
    (ptpd debug) offset from master:               0s    17068500ns
    (ptpd debug) observed drift:     114782
    (ptpd debug) offset from master:               0s   -10861000ns
    (ptpd debug) observed drift:     103921
    (ptpd debug) offset from master:               0s    12683500ns
    (ptpd debug) observed drift:     116604
    (ptpd debug) offset from master:               0s    36591500ns
    (ptpd debug) observed drift:     153195
    (ptpd debug) offset from master:               0s     9294000ns
    (ptpd debug) observed drift:     162489
    (ptpd debug) offset from master:               0s   -18589500ns
    (ptpd debug) observed drift:     143900
    (ptpd debug) Q = 0, R = 25
    (ptpd debug) handleDelayReq: self
    (ptpd debug) offset from master:               0s     4706500ns
    (ptpd debug) observed drift:     148606
    (ptpd debug) delay filter 11889500, 2
    (ptpd debug) offset from master:               0s    24433000ns
    (ptpd debug) observed drift:     173039
    (ptpd debug) offset from master:               0s    -6849500ns
    (ptpd debug) observed drift:     166190
    (ptpd debug) offset from master:               0s   -34543500ns
    (ptpd debug) observed drift:     131647
    (ptpd debug) offset from master:               0s   -10771500ns
    (ptpd debug) observed drift:     120876
    (ptpd debug) offset from master:               0s    13707500ns
    (ptpd debug) observed drift:     134583
    (ptpd debug) offset from master:               0s   -13056500ns
    (ptpd debug) observed drift:     121527
    (ptpd debug) offset from master:               0s   -40636000ns
    (ptpd debug) observed drift:      80891
    (ptpd debug) offset from master:               0s   -16982000ns
    (ptpd debug) observed drift:      63909
    (ptpd debug) offset from master:               0s     7558000ns
    (ptpd debug) observed drift:      71467
    (ptpd debug) offset from master:               0s    31901500ns
    (ptpd debug) observed drift:     103368
    (ptpd debug) offset from master:               0s     4322000ns
    (ptpd debug) observed drift:     107690
    (ptpd debug) offset from master:               0s   -23349500ns
    (ptpd debug) observed drift:      84341
    (ptpd debug) offset from master:               0s      150500ns
    (ptpd debug) observed drift:      84491
    (ptpd debug) offset from master:               0s    23831500ns
    (ptpd debug) observed drift:     108322
    (ptpd debug) offset from master:               0s    -3310500ns
    (ptpd debug) observed drift:     105012
    (ptpd debug) offset from master:               0s   -30852500ns
    (ptpd debug) observed drift:      74160
    (ptpd debug) offset from master:               0s    15329500ns
    (ptpd debug) observed drift:      89489
    (ptpd debug) offset from master:               0s    25538000ns
    (ptpd debug) observed drift:     115027
    (ptpd debug) offset from master:               0s    -2043500ns
    (ptpd debug) observed drift:     112984
    (ptpd debug) offset from master:               0s     8495000ns
    (ptpd debug) observed drift:     121479
    (ptpd debug) offset from master:               0s    34252000ns
    (ptpd debug) observed drift:     155731
    (ptpd debug) offset from master:               0s     8090500ns
    (ptpd debug) observed drift:     163821
    (ptpd debug) Q = 0, R = 4
    (ptpd debug) handleDelayReq: self
    (ptpd debug) offset from master:               0s   -23725500ns
    (ptpd debug) observed drift:     140096
    (ptpd debug) delay filter 16902249, 3
    (ptpd debug) offset from master:               0s    -8245375ns
    (ptpd debug) observed drift:     131851
    (ptpd debug) offset from master:               0s    13009250ns
    (ptpd debug) observed drift:     144860
    (ptpd debug) offset from master:               0s    -9748749ns
    (ptpd debug) observed drift:     135112
    (ptpd debug) Q = 0, R = 13
    (ptpd debug) handleDelayReq: self
    (ptpd debug) offset from master:               0s   -32941748ns
    (ptpd debug) observed drift:     102171
    (ptpd debug) delay filter 17974623, 4
    (ptpd debug) offset from master:               0s    -9596936ns
    (ptpd debug) observed drift:      92575
    (ptpd debug) offset from master:               0s    14219876ns
    (ptpd debug) observed drift:     106794
    (ptpd debug) offset from master:               0s   -12764623ns
    (ptpd debug) observed drift:      94030
    (ptpd debug) offset from master:               0s   -47458622ns
    (ptpd debug) observed drift:      46572
    (ptpd debug) offset from master:               0s   -25448122ns
    (ptpd debug) observed drift:      21124
    (ptpd debug) offset from master:               0s     6385877ns
    (ptpd debug) observed drift:      27509
    (ptpd debug) offset from master:               0s    32082876ns
    (ptpd debug) observed drift:      59591
    (ptpd debug) offset from master:               0s     4679377ns
    (ptpd debug) observed drift:      64270
    (ptpd debug) offset from master:               0s   -22620122ns
    (ptpd debug) observed drift:      41650
    (ptpd debug) offset from master:               0s     3519877ns
    (ptpd debug) observed drift:      45169
    (ptpd debug) offset from master:               0s   -12043123ns
    (ptpd debug) observed drift:      33126
    (ptpd debug) Q = 0, R = 26
    (ptpd debug) handleDelayReq: self
    (ptpd debug) offset from master:               0s   -30291622ns
    (ptpd debug) observed drift:       2835
    (ptpd debug) delay filter 18878198, 5
    (ptpd debug) offset from master:               0s    -6576410ns
    (ptpd debug) observed drift:      -3741
    (ptpd debug) offset from master:               0s    17183302ns
    (ptpd debug) observed drift:      13442
    (ptpd debug) offset from master:               0s   -10034698ns
    (ptpd debug) observed drift:       3408
    (ptpd debug) offset from master:               0s   -37183198ns
    (ptpd debug) observed drift:     -33775
    (ptpd debug) offset from master:               0s   -13177198ns
    (ptpd debug) observed drift:     -46952
    (ptpd debug) offset from master:               0s    11181802ns
    (ptpd debug) observed drift:     -35771
    (ptpd debug) offset from master:               0s   -17226198ns
    (ptpd debug) observed drift:     -52997
    (ptpd debug) offset from master:               0s   -48680698ns
    (ptpd debug) observed drift:    -101677
    (ptpd debug) offset from master:               0s   -24020698ns
    (ptpd debug) observed drift:    -125697
    (ptpd debug) offset from master:               0s     4488802ns
    (ptpd debug) observed drift:    -121209
    (ptpd debug) offset from master:               0s    25520802ns
    (ptpd debug) observed drift:     -95689
    (ptpd debug) offset from master:               0s    -1945698ns
    (ptpd debug) observed drift:     -97634
    (ptpd debug) offset from master:               0s   -25527198ns
    (ptpd debug) observed drift:    -123161
    (ptpd debug) offset from master:               0s    -1630198ns
    (ptpd debug) observed drift:    -124791
    (ptpd debug) offset from master:               0s    22647802ns
    (ptpd debug) observed drift:    -102144
    (ptpd debug) offset from master:               0s    -4338698ns
    (ptpd debug) observed drift:    -106482
    (ptpd debug) offset from master:               0s   -31859698ns
    (ptpd debug) observed drift:    -138341
    (ptpd notice) shutdown on interrupt signal

     
    • jrm25

      jrm25 - 2007-02-23

      On further investigation ptpd isn't the problem - I seem to have an extremely unstable system clock on this particular computer using the latest kernels... back to the drawing board.

      Thanks for a great application,

      James

       

Log in to post a comment.