ntpd: get rid of G.initial_poll_complete
This speeds up syncing - now happens only just two replies from a peer. Especially useful for "ntpd -q". Shouldn't have ill effects: if we chose a bad peer, we will discover it later and switch to another one. The code is even smaller this way. Suggested by Miroslav Lichvar <mlichvar@redhat.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
936c401077
commit
ff3f3accc6
@ -376,8 +376,6 @@ struct globals {
|
|||||||
*/
|
*/
|
||||||
#define G_precision_sec 0.002
|
#define G_precision_sec 0.002
|
||||||
uint8_t stratum;
|
uint8_t stratum;
|
||||||
/* Bool. After set to 1, never goes back to 0: */
|
|
||||||
smallint initial_poll_complete;
|
|
||||||
|
|
||||||
#define STATE_NSET 0 /* initial state, "nothing is set" */
|
#define STATE_NSET 0 /* initial state, "nothing is set" */
|
||||||
//#define STATE_FSET 1 /* frequency set from file */
|
//#define STATE_FSET 1 /* frequency set from file */
|
||||||
@ -1084,7 +1082,7 @@ select_and_cluster(void)
|
|||||||
|
|
||||||
num_points = 0;
|
num_points = 0;
|
||||||
item = G.ntp_peers;
|
item = G.ntp_peers;
|
||||||
if (G.initial_poll_complete) while (item != NULL) {
|
while (item != NULL) {
|
||||||
double rd, offset;
|
double rd, offset;
|
||||||
|
|
||||||
p = (peer_t *) item->data;
|
p = (peer_t *) item->data;
|
||||||
@ -1649,7 +1647,7 @@ update_local_clock(peer_t *p)
|
|||||||
if (G.ntp_status & LI_MINUSSEC)
|
if (G.ntp_status & LI_MINUSSEC)
|
||||||
tmx.status |= STA_DEL;
|
tmx.status |= STA_DEL;
|
||||||
|
|
||||||
tmx.constant = G.poll_exp - 4;
|
tmx.constant = (int)G.poll_exp - 4 > 0 ? (int)G.poll_exp - 4 : 0;
|
||||||
/* EXPERIMENTAL.
|
/* EXPERIMENTAL.
|
||||||
* The below if statement should be unnecessary, but...
|
* The below if statement should be unnecessary, but...
|
||||||
* It looks like Linux kernel's PLL is far too gentle in changing
|
* It looks like Linux kernel's PLL is far too gentle in changing
|
||||||
@ -2285,7 +2283,6 @@ int ntpd_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
VERB4 bb_error_msg("disabling burst mode");
|
VERB4 bb_error_msg("disabling burst mode");
|
||||||
G.polladj_count = 0;
|
G.polladj_count = 0;
|
||||||
G.poll_exp = MINPOLL;
|
G.poll_exp = MINPOLL;
|
||||||
G.initial_poll_complete = 1;
|
|
||||||
}
|
}
|
||||||
send_query_to_peer(p);
|
send_query_to_peer(p);
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user