The patch titled
     tcp: NewReno must count every skb while marking losses
has been removed from the -mm tree.  Its filename was
     tcp-newreno-must-count-every-skb-while-marking-losses.patch

This patch was dropped because it was merged into mainline or a subsystem tree

The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/

------------------------------------------------------
Subject: tcp: NewReno must count every skb while marking losses
From: Ilpo Järvinen <[EMAIL PROTECTED]>

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 was).

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]>
---

 net/ipv4/tcp_input.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff -puN 
net/ipv4/tcp_input.c~tcp-newreno-must-count-every-skb-while-marking-losses 
net/ipv4/tcp_input.c
--- a/net/ipv4/tcp_input.c~tcp-newreno-must-count-every-skb-while-marking-losses
+++ a/net/ipv4/tcp_input.c
@@ -2153,7 +2153,7 @@ static void tcp_mark_head_lost(struct so
                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);
 
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
git-v9fs.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to