On Thu, Sep 14, 2017 at 12:32 PM, Yuchung Cheng <[email protected]> wrote:
> On Thu, Sep 14, 2017 at 6:57 AM, Neal Cardwell <[email protected]> wrote:
>> On Wed, Sep 13, 2017 at 11:30 PM, Eric Dumazet <[email protected]> 
>> wrote:
>>>
>>> From: Eric Dumazet <[email protected]>
>>>
>>> liujian reported a problem in TCP_USER_TIMEOUT processing with a patch
>>> in tcp_probe_timer() :
>>>       https://www.spinics.net/lists/netdev/msg454496.html
>>>
>>> After investigations, the root cause of the problem is that we update
>>> skb->skb_mstamp of skbs in write queue, even if the attempt to send a
>>> clone or copy of it failed. One reason being a routing problem.
>>>
>>> This patch prevents this, solving liujian issue.
>>>
>>> It also removes a potential RTT miscalculation, since
>>> __tcp_retransmit_skb() is not OR-ing TCP_SKB_CB(skb)->sacked with
>>> TCPCB_EVER_RETRANS if a failure happens, but skb->skb_mstamp has
>>> been changed.
>>>
>>> A future ACK would then lead to a very small RTT sample and min_rtt
>>> would then be lowered to this too small value.
>> ...
>>>
>>> Signed-off-by: Eric Dumazet <[email protected]>
>>> Reported-by: liujian <[email protected]>
>>> ---
>>>  net/ipv4/tcp_output.c |   19 ++++++++++++-------
>>>  1 file changed, 12 insertions(+), 7 deletions(-)
>>
>> Acked-by: Neal Cardwell <[email protected]>
> Acked-by: Yuchung Cheng <[email protected]>

Acked-by: Soheil Hassas Yeganeh <[email protected]>
Very nice! Thank you, Eric!

Reply via email to