[TCP]: congestion control API pass RTT in microseconds
This patch changes the API for the callback that is done after an ACK is received. It solves a couple of issues: * Some congestion controls want higher resolution value of RTT (controlled by TCP_CONG_RTT_SAMPLE flag). These don't really want a ktime, but all compute a RTT in microseconds. * Other congestion control could use RTT at jiffies resolution. To keep API consistent the units should be the same for both cases, just the resolution should change. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
6a302358d8
commit
30cfd0baf0
@@ -69,16 +69,16 @@ static void tcp_veno_init(struct sock *sk)
|
||||
}
|
||||
|
||||
/* Do rtt sampling needed for Veno. */
|
||||
static void tcp_veno_pkts_acked(struct sock *sk, u32 cnt, ktime_t last)
|
||||
static void tcp_veno_pkts_acked(struct sock *sk, u32 cnt, s32 rtt_us)
|
||||
{
|
||||
struct veno *veno = inet_csk_ca(sk);
|
||||
u32 vrtt;
|
||||
|
||||
if (ktime_equal(last, net_invalid_timestamp()))
|
||||
if (rtt_us < 0)
|
||||
return;
|
||||
|
||||
/* Never allow zero rtt or baseRTT */
|
||||
vrtt = ktime_to_us(net_timedelta(last)) + 1;
|
||||
vrtt = rtt_us + 1;
|
||||
|
||||
/* Filter to find propagation delay: */
|
||||
if (vrtt < veno->basertt)
|
||||
|
Reference in New Issue
Block a user