Improve TCP CUBIC specific after idle reaction.
The adjustments are inspired by the Linux stack, which has had a functionally equivalent implementation for more than a decade now. Submitted by: Richard Scheffenegger Reviewed by: Cheng Cui Differential Revision: https://reviews.freebsd.org/D18982
This commit is contained in:
parent
35cd141b4b
commit
b0c1a13e4e
@ -190,6 +190,8 @@ cubic_ack_received(struct cc_var *ccv, uint16_t type)
|
||||
if (cubic_data->num_cong_events == 0 &&
|
||||
cubic_data->max_cwnd < CCV(ccv, snd_cwnd))
|
||||
cubic_data->max_cwnd = CCV(ccv, snd_cwnd);
|
||||
cubic_data->K = cubic_k(cubic_data->max_cwnd /
|
||||
CCV(ccv, t_maxseg));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -206,6 +208,9 @@ cubic_after_idle(struct cc_var *ccv)
|
||||
|
||||
cubic_data = ccv->cc_data;
|
||||
|
||||
cubic_data->max_cwnd = ulmax(cubic_data->max_cwnd, CCV(ccv, snd_cwnd));
|
||||
cubic_data->K = cubic_k(cubic_data->max_cwnd / CCV(ccv, t_maxseg));
|
||||
|
||||
newreno_cc_algo.after_idle(ccv);
|
||||
cubic_data->t_last_cong = ticks;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user