mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-27 17:11:46 +00:00
tcp: replace cnt & rtt with struct in pkts_acked()
Replace 2 arguments (cnt and rtt) in the congestion control modules' pkts_acked() function with a struct. This will allow adding more information without having to modify existing congestion control modules (tcp_nv in particular needs bytes in flight when packet was sent). As proposed by Neal Cardwell in his comments to the tcp_nv patch. Signed-off-by: Lawrence Brakmo <brakmo@fb.com> Acked-by: Yuchung Cheng <ycheng@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
cf88585b1d
commit
756ee1729b
13 changed files with 60 additions and 47 deletions
|
@ -99,7 +99,7 @@ static inline void measure_rtt(struct sock *sk, u32 srtt)
|
|||
}
|
||||
|
||||
static void measure_achieved_throughput(struct sock *sk,
|
||||
u32 pkts_acked, s32 rtt)
|
||||
const struct ack_sample *sample)
|
||||
{
|
||||
const struct inet_connection_sock *icsk = inet_csk(sk);
|
||||
const struct tcp_sock *tp = tcp_sk(sk);
|
||||
|
@ -107,10 +107,10 @@ static void measure_achieved_throughput(struct sock *sk,
|
|||
u32 now = tcp_time_stamp;
|
||||
|
||||
if (icsk->icsk_ca_state == TCP_CA_Open)
|
||||
ca->pkts_acked = pkts_acked;
|
||||
ca->pkts_acked = sample->pkts_acked;
|
||||
|
||||
if (rtt > 0)
|
||||
measure_rtt(sk, usecs_to_jiffies(rtt));
|
||||
if (sample->rtt_us > 0)
|
||||
measure_rtt(sk, usecs_to_jiffies(sample->rtt_us));
|
||||
|
||||
if (!use_bandwidth_switch)
|
||||
return;
|
||||
|
@ -122,7 +122,7 @@ static void measure_achieved_throughput(struct sock *sk,
|
|||
return;
|
||||
}
|
||||
|
||||
ca->packetcount += pkts_acked;
|
||||
ca->packetcount += sample->pkts_acked;
|
||||
|
||||
if (ca->packetcount >= tp->snd_cwnd - (ca->alpha >> 7 ? : 1) &&
|
||||
now - ca->lasttime >= ca->minRTT &&
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue