* Ilpo J?rvinen <[EMAIL PROTECTED]> [070306 14:52]: > Complete rewrite for update_scoreboard and mark_head_lost. Couple > of hints became unnecessary because of this change. Changes > !TCPCB_TAGBITS check from the original to !(S|L) but it shouldn't > make a difference, and if there ever is an R only skb TCP will > mark it as LOST too. The algorithm uses some ideas presented by > David Miller and Baruch Even. > > Seqno lookups require fast lookups that are provided using > RB-tree patch(+abstraction) from DaveM. > > Signed-off-by: Ilpo J?rvinen <[EMAIL PROTECTED]> > --- > > I'm sorry about poorly chunked diff, is it possible to force git to > produce better (large block) diffs when a complete function is rewritten > from scratch in the patch (manpage of git-diff-files hints -B bit it did > not work, affects whole file rewrites only perhaps)? > > This probably conflicts with the other patches in the rbtree patchset of > DaveM (two first are required) because I tested this one (at least the > non-timedout part worked) and didn't want some random breakage > from the other patches (as such was reported). > > include/linux/tcp.h | 6 - > include/net/tcp.h | 6 + > net/ipv4/tcp_input.c | 194 > +++++++++++++++++++++++++++++----------------- > net/ipv4/tcp_minisocks.c | 1 > 4 files changed, 130 insertions(+), 77 deletions(-) >
[snip] > + newtp->highest_sack = treq->snt_isn + 1; That's the only initialization that you have for highest_sack, I think that you should initialize it when a loss is detected to the start_seq of the first packet that wasn't acked. Didn't review the rest, still need to arrange a proper tree with preliminary patches to apply it on. Could you note the kernel you based it on and include all patches applied before it? Baruch - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html