- if (G.kernel_freq_drift != tmx.freq / 65536) {
- G.kernel_freq_drift = tmx.freq / 65536;
- VERB2 bb_error_msg("kernel clock drift: %ld ppm", G.kernel_freq_drift);
- }
- VERB3 {
- bb_error_msg("adjtimex:%d freq:%ld offset:%ld constant:%ld status:0x%x",
- rc, tmx.freq, tmx.offset, tmx.constant, tmx.status);
-#if 0
- /* always gives the same output as above msg */
- memset(&tmx, 0, sizeof(tmx));
- if (adjtimex(&tmx) < 0)
- bb_perror_msg_and_die("adjtimex");
- VERB3 bb_error_msg("c adjtimex freq:%ld offset:%ld constant:%ld status:0x%x",
- tmx.freq, tmx.offset, tmx.constant, tmx.status);
-#endif
- }
-// #define STA_MODE 0x4000 /* mode (0 = PLL, 1 = FLL) (ro) */ - ?
-// it appeared after a while:
-//ntpd: p adjtimex freq:-14545653 offset:-5396 constant:10 status:0x41
-//ntpd: c adjtimex freq:-14547835 offset:-8307 constant:10 status:0x1
-//ntpd: p adjtimex freq:-14547835 offset:-6398 constant:10 status:0x41
-//ntpd: c adjtimex freq:-14550486 offset:-10158 constant:10 status:0x1
-//ntpd: p adjtimex freq:-14550486 offset:-6132 constant:10 status:0x41
-//ntpd: c adjtimex freq:-14636129 offset:-10158 constant:10 status:0x4001
-//ntpd: p adjtimex freq:-14636129 offset:-10002 constant:10 status:0x4041
-//ntpd: c adjtimex freq:-14636245 offset:-7497 constant:10 status:0x1
-//ntpd: p adjtimex freq:-14636245 offset:-4573 constant:10 status:0x41
-//ntpd: c adjtimex freq:-14642034 offset:-11715 constant:10 status:0x1
-//ntpd: p adjtimex freq:-14642034 offset:-4098 constant:10 status:0x41
-//ntpd: c adjtimex freq:-14699112 offset:-11746 constant:10 status:0x4001
-//ntpd: p adjtimex freq:-14699112 offset:-4239 constant:10 status:0x4041
-//ntpd: c adjtimex freq:-14762330 offset:-12786 constant:10 status:0x4001
-//ntpd: p adjtimex freq:-14762330 offset:-4434 constant:10 status:0x4041
-//ntpd: b adjtimex freq:0 offset:-9669 constant:8 status:0x1
-//ntpd: adjtimex:0 freq:-14809095 offset:-9669 constant:10 status:0x4001
-//ntpd: c adjtimex freq:-14809095 offset:-9669 constant:10 status:0x4001
+ /* NB: here kernel returns constant == G.poll_exp, not == G.poll_exp - 4.
+ * Not sure why. Perhaps it is normal.
+ */
+ VERB3 bb_error_msg("adjtimex:%d freq:%ld offset:%+ld status:0x%x",
+ rc, tmx.freq, tmx.offset, tmx.status);
+ G.kernel_freq_drift = tmx.freq / 65536;
+ VERB2 bb_error_msg("update from:%s offset:%+f jitter:%f clock drift:%+.3fppm tc:%d",
+ p->p_dotted, offset, G.discipline_jitter, (double)tmx.freq / 65536, (int)tmx.constant);