ntpd: speed up reaction to poll interval decrease
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
d9109e3b48
commit
2e36eb8f27
@ -1484,7 +1484,20 @@ recv_and_process_peer_pkt(peer_t *p)
|
|||||||
if (G.polladj_count < -POLLADJ_LIMIT) {
|
if (G.polladj_count < -POLLADJ_LIMIT) {
|
||||||
G.polladj_count = 0;
|
G.polladj_count = 0;
|
||||||
if (G.poll_exp > MINPOLL) {
|
if (G.poll_exp > MINPOLL) {
|
||||||
|
llist_t *item;
|
||||||
|
|
||||||
G.poll_exp--;
|
G.poll_exp--;
|
||||||
|
/* Correct p->next_action_time in each peer
|
||||||
|
* which waits for sending, so that they send earlier.
|
||||||
|
* Old pp->next_action_time are on the order
|
||||||
|
* of t + (1 << old_poll_exp) + small_random,
|
||||||
|
* we simply need to subtract ~half of that.
|
||||||
|
*/
|
||||||
|
for (item = G.ntp_peers; item != NULL; item = item->link) {
|
||||||
|
peer_t *pp = (peer_t *) item->data;
|
||||||
|
if (pp->p_fd < 0)
|
||||||
|
pp->next_action_time -= (1 << G.poll_exp);
|
||||||
|
}
|
||||||
VERB3 bb_error_msg("polladj: discipline_jitter:%f --poll_exp=%d",
|
VERB3 bb_error_msg("polladj: discipline_jitter:%f --poll_exp=%d",
|
||||||
G.discipline_jitter, G.poll_exp);
|
G.discipline_jitter, G.poll_exp);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user