tcp: stamp SCM_TSTAMP_ACK later in tcp_clean_rtx_queue()
Currently tp->delivered is updated with sacked packets but not cumulatively acked when SCP_TSTAMP_ACK is timestamped. This patch moves a tcp_ack_tstamp() call in tcp_clean_rtx_queue() to later in the loop so that when a skb is fully acked OPT_STATS of SCM_TSTAMP_ACK will include the current skb in the delivered count. When not fully acked tcp_ack_tstamp() is a no-op and there is no change in behavior. Signed-off-by: Yousuk Seung <ysseung@google.com> Signed-off-by: Yuchung Cheng <ycheng@google.com> Acked-by: Eric Dumazet <edumazet@google.com> Acked-by: Neal Cardwell <ncardwell@google.com> Acked-by: Soheil Hassas Yeganeh <soheil@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									b08866f42a
								
							
						
					
					
						commit
						fdb7eb21dd
					
				| @ -3078,8 +3078,6 @@ static int tcp_clean_rtx_queue(struct sock *sk, u32 prior_fack, | ||||
| 		u8 sacked = scb->sacked; | ||||
| 		u32 acked_pcount; | ||||
| 
 | ||||
| 		tcp_ack_tstamp(sk, skb, prior_snd_una); | ||||
| 
 | ||||
| 		/* Determine how many packets and what bytes were acked, tso and else */ | ||||
| 		if (after(scb->end_seq, tp->snd_una)) { | ||||
| 			if (tcp_skb_pcount(skb) == 1 || | ||||
| @ -3143,6 +3141,8 @@ static int tcp_clean_rtx_queue(struct sock *sk, u32 prior_fack, | ||||
| 		if (!fully_acked) | ||||
| 			break; | ||||
| 
 | ||||
| 		tcp_ack_tstamp(sk, skb, prior_snd_una); | ||||
| 
 | ||||
| 		next = skb_rb_next(skb); | ||||
| 		if (unlikely(skb == tp->retransmit_skb_hint)) | ||||
| 			tp->retransmit_skb_hint = NULL; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user