chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
3a450ec
)
timedated: print delay and jitter in debug output
author
Kay Sievers
<kay@vrfy.org>
Sat, 15 Mar 2014 15:57:51 +0000
(16:57 +0100)
committer
Kay Sievers
<kay@vrfy.org>
Sat, 15 Mar 2014 15:57:51 +0000
(16:57 +0100)
src/timedate/timedate-sntp.c
patch
|
blob
|
history
diff --git
a/src/timedate/timedate-sntp.c
b/src/timedate/timedate-sntp.c
index 4d992c49de5cf00b03cac98e21b98cfa3a707eb2..861bcb151f823ed1e72de672397902ca302d169d 100644
(file)
--- a/
src/timedate/timedate-sntp.c
+++ b/
src/timedate/timedate-sntp.c
@@
-71,7
+71,7
@@
*/
#define NTP_POLL_INTERVAL_MIN_SEC 16
#define NTP_POLL_INTERVAL_MAX_SEC 2048
*/
#define NTP_POLL_INTERVAL_MIN_SEC 16
#define NTP_POLL_INTERVAL_MAX_SEC 2048
-#define NTP_
POLL_ACCURACY_SEC
0.1
+#define NTP_
ACCURACY_SEC
0.1
#define NTP_LEAP_PLUSSEC 1
#define NTP_LEAP_MINUSSEC 2
#define NTP_LEAP_PLUSSEC 1
#define NTP_LEAP_MINUSSEC 2
@@
-337,7
+337,7
@@
static bool sntp_sample_spike_detection(SNTPContext *sntp, double offset, double
return spike;
}
return spike;
}
-static void sn
m
p_adjust_poll(SNTPContext *sntp, double offset, bool spike) {
+static void sn
t
p_adjust_poll(SNTPContext *sntp, double offset, bool spike) {
double delta;
if (spike) {
double delta;
if (spike) {
@@
-349,20
+349,20
@@
static void snmp_adjust_poll(SNTPContext *sntp, double offset, bool spike) {
delta = fabs(offset);
/* set to minimal poll interval */
delta = fabs(offset);
/* set to minimal poll interval */
- if (delta > NTP_
POLL_
ACCURACY_SEC) {
+ if (delta > NTP_ACCURACY_SEC) {
sntp->poll_interval = NTP_POLL_INTERVAL_MIN_SEC * USEC_PER_SEC;
return;
}
/* increase polling interval */
sntp->poll_interval = NTP_POLL_INTERVAL_MIN_SEC * USEC_PER_SEC;
return;
}
/* increase polling interval */
- if (delta < NTP_
POLL_
ACCURACY_SEC * 0.25) {
+ if (delta < NTP_ACCURACY_SEC * 0.25) {
if (sntp->poll_interval < NTP_POLL_INTERVAL_MAX_SEC * USEC_PER_SEC)
sntp->poll_interval *= 2;
return;
}
/* decrease polling interval */
if (sntp->poll_interval < NTP_POLL_INTERVAL_MAX_SEC * USEC_PER_SEC)
sntp->poll_interval *= 2;
return;
}
/* decrease polling interval */
- if (delta > NTP_
POLL_
ACCURACY_SEC * 0.75) {
+ if (delta > NTP_ACCURACY_SEC * 0.75) {
if (sntp->poll_interval > NTP_POLL_INTERVAL_MIN_SEC * USEC_PER_SEC)
sntp->poll_interval /= 2;
return;
if (sntp->poll_interval > NTP_POLL_INTERVAL_MIN_SEC * USEC_PER_SEC)
sntp->poll_interval /= 2;
return;
@@
-394,7
+394,7
@@
static int sntp_receive_response(sd_event_source *source, int fd, uint32_t reven
struct timeval *recv_time;
ssize_t len;
struct ntp_msg *ntpmsg;
struct timeval *recv_time;
ssize_t len;
struct ntp_msg *ntpmsg;
- double origin, rec
v
, trans, dest;
+ double origin, rec
eive
, trans, dest;
double delay, offset;
bool spike;
int leap_sec;
double delay, offset;
bool spike;
int leap_sec;
@@
-488,16
+488,16
@@
static int sntp_receive_response(sd_event_source *source, int fd, uint32_t reven
*/
clock_gettime(CLOCK_MONOTONIC, &now);
origin = tv_to_d(recv_time) - (ts_to_d(&now) - ts_to_d(&sntp->trans_time_mon)) + OFFSET_1900_1970;
*/
clock_gettime(CLOCK_MONOTONIC, &now);
origin = tv_to_d(recv_time) - (ts_to_d(&now) - ts_to_d(&sntp->trans_time_mon)) + OFFSET_1900_1970;
- rec
v
= ntp_ts_to_d(&ntpmsg->recv_time);
+ rec
eive
= ntp_ts_to_d(&ntpmsg->recv_time);
trans = ntp_ts_to_d(&ntpmsg->trans_time);
dest = tv_to_d(recv_time) + OFFSET_1900_1970;
trans = ntp_ts_to_d(&ntpmsg->trans_time);
dest = tv_to_d(recv_time) + OFFSET_1900_1970;
- offset = ((rec
v
- origin) + (trans - dest)) / 2;
- delay = (dest - origin) - (trans - rec
v
);
+ offset = ((rec
eive
- origin) + (trans - dest)) / 2;
+ delay = (dest - origin) - (trans - rec
eive
);
spike = sntp_sample_spike_detection(sntp, offset, delay);
spike = sntp_sample_spike_detection(sntp, offset, delay);
- sn
m
p_adjust_poll(sntp, offset, spike);
+ sn
t
p_adjust_poll(sntp, offset, spike);
log_debug("NTP response:\n"
" leap : %u\n"
log_debug("NTP response:\n"
" leap : %u\n"
@@
-507,7
+507,7
@@
static int sntp_receive_response(sd_event_source *source, int fd, uint32_t reven
" precision : %f sec (%d)\n"
" reference : %.4s\n"
" origin : %f\n"
" precision : %f sec (%d)\n"
" reference : %.4s\n"
" origin : %f\n"
- " rec
v
: %f\n"
+ " rec
eive
: %f\n"
" transmit : %f\n"
" dest : %f\n"
" offset : %+f sec\n"
" transmit : %f\n"
" dest : %f\n"
" offset : %+f sec\n"
@@
-522,7
+522,7
@@
static int sntp_receive_response(sd_event_source *source, int fd, uint32_t reven
exp2(ntpmsg->precision), ntpmsg->precision,
ntpmsg->stratum == 1 ? ntpmsg->refid : "n/a",
origin - OFFSET_1900_1970,
exp2(ntpmsg->precision), ntpmsg->precision,
ntpmsg->stratum == 1 ? ntpmsg->refid : "n/a",
origin - OFFSET_1900_1970,
- rec
v
- OFFSET_1900_1970,
+ rec
eive
- OFFSET_1900_1970,
trans - OFFSET_1900_1970,
dest - OFFSET_1900_1970,
offset, delay,
trans - OFFSET_1900_1970,
dest - OFFSET_1900_1970,
offset, delay,
@@
-530,7
+530,8
@@
static int sntp_receive_response(sd_event_source *source, int fd, uint32_t reven
sntp->samples_jitter, spike ? "yes" : "no",
sntp->poll_interval / USEC_PER_SEC);
sntp->samples_jitter, spike ? "yes" : "no",
sntp->poll_interval / USEC_PER_SEC);
- log_info("%4llu %s %+12f", sntp->poll_interval / USEC_PER_SEC, spike ? "y" : "n", offset);
+ log_info("%4llu %+10f %10f %10f %s",
+ sntp->poll_interval / USEC_PER_SEC, offset, delay, sntp->samples_jitter, spike ? "spike" : "");
if (!spike) {
r = sntp_adjust_clock(sntp, offset, leap_sec);
if (!spike) {
r = sntp_adjust_clock(sntp, offset, leap_sec);