Commit:     ad1984e844fb6edaa8b9984be23669f4e19168be
Parent:     23fe18669e7fdaf5b229747858d943a723124e2e
Author:     Ilpo Järvinen <[EMAIL PROTECTED]>
AuthorDate: Wed Jan 30 20:06:02 2008 -0800
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Thu Jan 31 19:27:22 2008 -0800

    [TCP]: NewReno must count every skb while marking losses
    NewReno should add cnt per skb (as with FACK) instead of depending on
    SACKED_ACKED bits which won't be set with it at all.  Effectively,
    NewReno should always exists after the first iteration anyway (or
    immediately if there's already head in lost_out.
    This was fixed earlier in net-2.6.25 but got reverted among other
    stuff and I didn't notice that this is still necessary (actually
    wasn't even considering this case while trying to figure out the
    reports because I lived with different kind of code than it in reality
    This should solve the WARN_ONs in TCP code that as a result of this
    triggered multiple times in every place we check for this invariant.
    Special thanks to Dave Young <[EMAIL PROTECTED]> and Krishna
    Kumar2 <[EMAIL PROTECTED]> for trying with my debug patches.
    Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]>
    Tested-by: Dave Young <[EMAIL PROTECTED]>
    Tested-by: Krishna Kumar2 <[EMAIL PROTECTED]>
    Cc: "David S. Miller" <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
 net/ipv4/tcp_input.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index fa2c85c..19c449f 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -2153,7 +2153,7 @@ static void tcp_mark_head_lost(struct sock *sk, int 
packets, int fast_rexmit)
                tp->lost_skb_hint = skb;
                tp->lost_cnt_hint = cnt;
-               if (tcp_is_fack(tp) ||
+               if (tcp_is_fack(tp) || tcp_is_reno(tp) ||
                    (TCP_SKB_CB(skb)->sacked & TCPCB_SACKED_ACKED))
                        cnt += tcp_skb_pcount(skb);
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to