[PATCH] tcp: replace head->tstamp with head->skb_mstamp_ns in tcp_tso_should_defer()
From: mengensun88
Date: Tue Dec 03 2024 - 21:36:29 EST
From: MengEn Sun <mengensun@xxxxxxxxxxx>
The tstamp field of sk_buff is intended to implement SO_TIMESTAMP*.
However, the skb in the RTX queue does not have this field set.
Using this field in tcp_tso_should_defer() can confuse readers of
the code.
Therefore, in this function, we replace tstamp with skb_mstamp_ns
to obtain the timestamp of when a packet is sent.
Reviewed-by: YueHong Wu <yuehongwu@xxxxxxxxxxx>
Signed-off-by: MengEn Sun <mengensun@xxxxxxxxxxx>
---
net/ipv4/tcp_output.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
index 68804fd01daf..d1d167c93a4f 100644
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -2274,7 +2274,7 @@ static bool tcp_tso_should_defer(struct sock *sk, struct sk_buff *skb,
head = tcp_rtx_queue_head(sk);
if (!head)
goto send_now;
- delta = tp->tcp_clock_cache - head->tstamp;
+ delta = tp->tcp_clock_cache - head->skb_mstamp_ns;
/* If next ACK is likely to come too late (half srtt), do not defer */
if ((s64)(delta - (u64)NSEC_PER_USEC * (tp->srtt_us >> 4)) < 0)
goto send_now;
--
2.43.5