Subject: Re: [PATCH] tcp: remove useless update for flag parameter in tcp_enter_frto_loss()

From: Li Yu <[email-masked]>
Date: Wed, 28 Mar 2012 14:54:01 +0800

于 2012年03月28日 13:29, Neal Cardwell 写道:
> On Wed, Mar 28, 2012 at 12:23 AM, Li Yu<[email-masked]>  wrote:
>>
>> It seem that we forget remove below two lines after copying code :)
>>
>> This update never impacts others.
>
> The 'flag' variable will be used in later iterations of the
> tcp_for_write_queue() loop. The comment seems to quite sensibly
> indicate that the FLAG_DATA_ACKED bit is being set to avoid entering
> that branch of the if statement in later segments in the loop:
>
> 2168                 if ((tp->frto_counter == 1)&&  !(flag&  FLAG_DATA_ACKED)) {
> 2169                         /* For some reason this R-bit might get cleared? */
> 2170                         if (TCP_SKB_CB(skb)->sacked&  TCPCB_SACKED_RETRANS)
> 2171                                 tp->retrans_out += tcp_skb_pcount(skb);
> 2172                         /* ...enter this if branch just for the
> first segment */
> 2173                         flag |= FLAG_DATA_ACKED;
> 2174                 } else {
>
> The structure of the logic seems intact from the original commit that
> added this:
>
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=d1a54c6a0a3f9c2c4ef71982d89b8571bd9eaa51
>

Sorry for spent time on this, it it account for F-RTO retransmitted
segment here.

Yu

> neal