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:

committed by
David S. Miller

parent
cf88585b1d
commit
756ee1729b
@@ -437,21 +437,21 @@ static void hystart_update(struct sock *sk, u32 delay)
|
||||
/* Track delayed acknowledgment ratio using sliding window
|
||||
* ratio = (15*ratio + sample) / 16
|
||||
*/
|
||||
static void bictcp_acked(struct sock *sk, u32 cnt, s32 rtt_us)
|
||||
static void bictcp_acked(struct sock *sk, const struct ack_sample *sample)
|
||||
{
|
||||
const struct tcp_sock *tp = tcp_sk(sk);
|
||||
struct bictcp *ca = inet_csk_ca(sk);
|
||||
u32 delay;
|
||||
|
||||
/* Some calls are for duplicates without timetamps */
|
||||
if (rtt_us < 0)
|
||||
if (sample->rtt_us < 0)
|
||||
return;
|
||||
|
||||
/* Discard delay samples right after fast recovery */
|
||||
if (ca->epoch_start && (s32)(tcp_time_stamp - ca->epoch_start) < HZ)
|
||||
return;
|
||||
|
||||
delay = (rtt_us << 3) / USEC_PER_MSEC;
|
||||
delay = (sample->rtt_us << 3) / USEC_PER_MSEC;
|
||||
if (delay == 0)
|
||||
delay = 1;
|
||||
|
||||
|
Reference in New Issue
Block a user