mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 13:13:44 +01:00
Only apply more frequent cwnd updates after slow start.
This commit is contained in:
parent
43f6f3fd3a
commit
d62f9c9d00
@ -206,7 +206,8 @@ struct congestion_control_t {
|
|||||||
*
|
*
|
||||||
* Congestion control literature recommends only one update of cwnd per
|
* Congestion control literature recommends only one update of cwnd per
|
||||||
* cwnd worth of acks. However, we can also tune this to be more frequent
|
* cwnd worth of acks. However, we can also tune this to be more frequent
|
||||||
* by increasing the 'cc_cwnd_inc_rate' consensus parameter.
|
* by increasing the 'cc_cwnd_inc_rate' consensus parameter. This tuning
|
||||||
|
* only applies after slow start.
|
||||||
*
|
*
|
||||||
* If this returns 0 due to high cwnd_inc_rate, the calling code will
|
* If this returns 0 due to high cwnd_inc_rate, the calling code will
|
||||||
* update every sendme ack.
|
* update every sendme ack.
|
||||||
@ -215,8 +216,13 @@ static inline uint64_t CWND_UPDATE_RATE(const struct congestion_control_t *cc)
|
|||||||
{
|
{
|
||||||
/* We add cwnd_inc_rate*sendme_inc/2 to round to nearest integer number
|
/* We add cwnd_inc_rate*sendme_inc/2 to round to nearest integer number
|
||||||
* of acks */
|
* of acks */
|
||||||
return ((cc->cwnd + cc->cwnd_inc_rate*cc->sendme_inc/2)
|
|
||||||
|
if (cc->in_slow_start) {
|
||||||
|
return ((cc->cwnd + cc->sendme_inc/2)/cc->sendme_inc);
|
||||||
|
} else {
|
||||||
|
return ((cc->cwnd + cc->cwnd_inc_rate*cc->sendme_inc/2)
|
||||||
/ (cc->cwnd_inc_rate*cc->sendme_inc));
|
/ (cc->cwnd_inc_rate*cc->sendme_inc));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user