Skip to contentSkip to conversation

tcp: use current time in tcp_rcv_space_adjust()

PATCH In review Eric Dumazet 3 participants 3 messages Dec 6, 2017

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 tcp: use current time in tcp_rcv_space_adjust()

From: Eric Dumazet <[email protected]>

When I switched rcv_rtt_est to high resolution timestamps, I forgot that tp->tcp_mstamp needed to be refreshed in tcp_rcv_space_adjust()

Using an old timestamp leads to autotuning lags.

Fixes 645f4c6f2ebd ("tcp: switch rcv_rtt_est and rcvq_space to high resolution timestamps")
Cc Wei Wang <[email protected]>
Cc Neal Cardwell <[email protected]>
Cc Yuchung Cheng <[email protected]>

---
 net/ipv4/tcp_input.c |    1 +

 1 file changed, 1 insertion(+)
net/ipv4/tcp_input.c +1 -0
index 734cfc8ff76edf3453921b50620be2986bfcfdb9..514c00732988b7e71f121953dabf88911b2324d6 100644
@@ -579,6 +579,7 @@ void tcp_rcv_space_adjust(struct sock *sk)
 	int time;
 	int copied;
 
+	tcp_mstamp_refresh(tp);
 	time = tcp_stamp_us_delta(tp->tcp_mstamp, tp->rcvq_space.time);
 	if (time < (tp->rcv_rtt_est.rtt_us >> 3) || tp->rcv_rtt_est.rtt_us == 0)
 		return;
maintainer Acked-by on v1 1/1
#1 lore raw
Quoted 5 lines · Eric Dumazet

From: Eric Dumazet <[email protected]>

When I switched rcv_rtt_est to high resolution timestamps, I forgot that tp->tcp_mstamp needed to be refreshed in tcp_rcv_space_adjust()

Quoted 8 lines

Using an old timestamp leads to autotuning lags.

Fixes 645f4c6f2ebd ("tcp: switch rcv_rtt_est and rcvq_space to high resolution timestamps")
Cc Wei Wang <[email protected]>
Cc Neal Cardwell <[email protected]>
Cc Yuchung Cheng <[email protected]>

---

neal

maintainer
#2 lore raw
In reply to Eric Dumazet

From: Eric Dumazet <[email protected]>
Date: Wed, 06 Dec 2017 11:08:19 -0800

Quoted 9 lines

From: Eric Dumazet <[email protected]>

When I switched rcv_rtt_est to high resolution timestamps, I forgot that tp->tcp_mstamp needed to be refreshed in tcp_rcv_space_adjust()

Using an old timestamp leads to autotuning lags.

Fixes 645f4c6f2ebd ("tcp: switch rcv_rtt_est and rcvq_space to high resolution timestamps")

Applied and queued up for -stable, thanks Eric.