Re: [PATCH] ipconfig.c : implement DHCP Class-identifier

2007-11-08 Thread Ilpo Järvinen
On Thu, 8 Nov 2007, Rainer Jochem wrote: > @@ -620,6 +622,17 @@ ic_dhcp_init_options(u8 *options) > *e++ = sizeof(ic_req_params); > memcpy(e, ic_req_params, sizeof(ic_req_params)); > e += sizeof(ic_req_params); > + > + // Send it only if the ac

[PATCH 3/4] [TCP]: Add unlikely() to sacktag out-of-mem in fragment case

2007-11-10 Thread Ilpo Järvinen
Signed-off-by: Ilpo Järvinen <[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 9fc9096..84bcdc9 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -1400,7 +

[PATCH net-2.6 0/4] [TCP]: Bug fixes & minor tweaks

2007-11-10 Thread Ilpo Järvinen
Hi, Here are some changes that should go to net-2.6. Boot & simple transfer tested. I'll do future cleanups that are now possible in a different series to a next kernel version.

[PATCH 1/4] [TCP]: Consider GSO while counting reord in sacktag

2007-11-10 Thread Ilpo Järvinen
Reordering detection fails to take account that the reordered skb may have pcount larger than 1. In such case the lowest of them had the largest reordering, the old formula used the highest of them which is pcount - 1 packets less reordered. Signed-off-by: Ilpo Järvinen <[EMAIL PROTEC

[PATCH 2/4] [TCP]: Fix reord detection due to snd_una covered holes

2007-11-10 Thread Ilpo Järvinen
t too sure so I left it there. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_input.c | 50 -- 1 files changed, 32 insertions(+), 18 deletions(-) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 0f75757..9fc9096

[PATCH 4/4] [TCP]: Split SACK FRTO flag clearing (fixes FRTO corner case bug)

2007-11-10 Thread Ilpo Järvinen
core of the loop truly deals with a single skb only, which also enables creation a more self-contained of tcp_sacktag_one later on. In addition, small reorganization of if branches was made. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_input.c

Re: Oops preceded by WARNING: at net/ipv4/tcp_input.c:1571 tcp_remove_reno_sacks()

2007-11-10 Thread Ilpo Järvinen
t could prevent tcp_is_reno from going to tcp_xmit_retransmit_queue when queue is empty), it should get rid of the crash and get the lost_out value for us as well... > .config: ...snip... > # CONFIG_DEBUG_LIST is not set Could you please add this one too, as there could be some list corru

Re : Oops preceded by WARNING: at net/ipv4/tcp_input.c:1571 tcp_remove_reno_sacks()

2007-11-11 Thread Ilpo Järvinen
n it occurs though it's not the main problem itself. Please keep the tcp_sack set to 0, and once you have at least one stacktrace with it, you could try also with tcp_sack if the same thing occurs there as well. -- [PATCH] TCP DEBUG - Check if empty queue is passed to xmit_retrans... - Print

Re: Re : Oops preceded by WARNING: at net/ipv4/tcp_input.c:1571 tcp_remove_reno_sacks()

2007-11-13 Thread Ilpo Järvinen
On Mon, 12 Nov 2007, Ilpo Järvinen wrote: > Yeah, it's more likely a miscount somewhere rather than corruption but > that wasn't obvious from the first mail... > > ...but alas, I haven't yet been able to come up with any theory on how > a miscount could occur..

[PATCH] [TCP] FRTO: Limit snd_cwnd if TCP was application limited

2007-11-13 Thread Ilpo Järvinen
pletely non-existing. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- Noticed this unrelated problem while thinking LOST bits and stuff... net/ipv4/tcp_input.c |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index cc3

Re: Re : Oops preceded by WARNING: at net/ipv4/tcp_input.c:1571 tcp_remove_reno_sacks()

2007-11-14 Thread Ilpo Järvinen
> > I just cannot now construct in my mind, end_seq <= > > frto_highmark check does not match causing the lost_out > > and LOST bits become out-of-sync due to clearing and > > recounting in the loop. > > > > This may fix LOST-bit leak reported by Chazarai

Re: Re : Oops preceded by WARNING: at net/ipv4/tcp_input.c:1571 tcp_remove_reno_sacks()

2007-11-15 Thread Ilpo Järvinen
k. > > > > Having LOST-bits integry ensured like done after commit > > 23aeeec365dcf8bc87fae44c533e50d0bb4f23cc won't hurt. It may > > still be useful in some other, possibly legimate, scenario. > > > > Reported by Chazarain Guillaume <[EMAIL PROTECTED]>. > >

Re: Re : Oops preceded by WARNING: at net/ipv4/tcp_input.c:1571 tcp_remove_reno_sacks()

2007-11-15 Thread Ilpo Järvinen
On Thu, 15 Nov 2007, Guillaume Chazarain wrote: > David Miller <[EMAIL PROTECTED]> wrote: > > > Chazarain please let us know if it does indeed cure your > > problem. > > Unfortunately, I couldn't manage to reproduce the problem with an > unpatched kernel. But your investigation Ilpo was really i

[PATCH 05/10] [TCP]: Make lost retrans detection more self-contained

2007-11-15 Thread Ilpo Järvinen
Highest_sack_end_seq is no longer calculated in the loop, thus it can be pushed to the worker function altogether making that function independent of the sacktag. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_input.c | 20 +++- 1 files changed, 11 inse

[RFC PATCH 09/10] [TCP]: Rewrite SACK block processing & sack_recv_cache use

2007-11-15 Thread Ilpo Järvinen
markings after that occur making the access pattern quite similar to the former fastpath "special case". DSACKs are special case that must always be walked. The local to recv_sack_cache copying could be more intelligent w.r.t DSACKs which are likely to be there only once but that i

[PATCH 06/10] [TCP]: Prior_fackets can be replaced by highest_sack seq

2007-11-15 Thread Ilpo Järvinen
Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_input.c |5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index b7af304..29fff81 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -1251,7 +

[PATCH 04/10] [TCP]: Convert highest_sack to sk_buff to allow direct access

2007-11-15 Thread Ilpo Järvinen
It is going to replace the sack fastpath hint quite soon... :-) Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- include/linux/tcp.h |6 -- include/net/tcp.h | 10 ++ net/ipv4/tcp_input.c | 12 ++-- net/ipv4/tcp_output.c | 19 ++- 4

[RFC PATCH net-2.6.25 0/10] [TCP]: Cleanups, tweaks & sacktag recode

2007-11-15 Thread Ilpo Järvinen
Hi Dave, Here's the sacktag recv_sack_cache usage rewrite which you were interested to look at earlier, due to other fixes it has dragged on this long... Besides that, couple of new bugs^W^Wcleanups & tweaks are there as well :-). I'll probably have to summon create tcp_sacktag_state patch back to

[PATCH 01/10] [TCP]: Move !in_sack test earlier in sacktag & reorganize if()s

2007-11-15 Thread Ilpo Järvinen
All intermediate conditions include it already, make them simpler as well. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_input.c | 31 ++- 1 files changed, 14 insertions(+), 17 deletions(-) diff --git a/net/ipv4/tcp_input.c b/ne

[PATCH 3/10] [TCP]: non-FACK SACK follows conservative SACK loss recovery

2007-11-15 Thread Ilpo Järvinen
ation last for long enough to cause problems). Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_input.c | 80 ++--- 1 files changed, 62 insertions(+), 18 deletions(-) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c inde

[PATCH 02/10] [TCP]: Extend reordering detection to cover CA_Loss partially

2007-11-15 Thread Ilpo Järvinen
o TCPCB_RETRANS skbs were found, thus having non-zero undo_marker in CA_Loss basically tells that the R-bits still accurately reflect the current state of TCP. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_input.c |3 ++- 1 files changed, 2 insertions(+), 1 deletions

[PATCH 07/10] [TCP]: Create tcp_sacktag_one().

2007-11-15 Thread Ilpo Järvinen
Worker function that implements the main logic of the inner-most loop of tcp_sacktag_write_queue(). Idea was originally presented by David S. Miller. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_input.c | 192 +- 1

[PATCH 08/10] [TCP]: Earlier SACK block verification & simplify access to them

2007-11-15 Thread Ilpo Järvinen
Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- include/linux/tcp.h |2 +- net/ipv4/tcp_input.c | 85 ++ 2 files changed, 52 insertions(+), 35 deletions(-) diff --git a/include/linux/tcp.h b/include/linux/tcp.h index 34acee6..7

[PATCH 10/10] [TCP]: Track sacktag (DEVEL PATCH)

2007-11-15 Thread Ilpo Järvinen
This is not intented to go to mainline, provided just for those who are interested enough about the algorithm internals during a test. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- include/linux/snmp.h | 19 +++ net/ipv4/proc.c | 19 +++ ne

[PATCH net-2.6.25] [TCP]: Correct DSACK check placing

2007-11-16 Thread Ilpo Järvinen
Previously one of the in-block skip branches was missing it. Also, drop it from tail-fully-processed case because the next iteration will do exactly the same thing, i.e., process the SACK block that contains the DSACK information. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- ne

Re: [RFC PATCH 09/10] [TCP]: Rewrite SACK block processing & sack_recv_cache use

2007-11-16 Thread Ilpo Järvinen
is fast-forward and mandatory markings after that occur > > making the access pattern quite similar to the former fastpath > > "special case". > > > > DSACKs are special case that must always be walked. > > > > The local to recv_sack_cache copying could be mor

[PATCH net-2.6] [TCP] MTUprobe: fix potential sk_send_head corruption

2007-11-19 Thread Ilpo Järvinen
When the abstraction functions got added, conversion was made here incorrectly. As a result, the skb may end up pointing to skb which got included to the probe skb and then was freed. For it to trigger, however, transmit_skb must fail sending as well. Signed-off-by: Ilpo Järvinen <[EM

[PATCH net-2.6 (2nd try)] [TCP] MTUprobe: fix potential sk_send_head corruption

2007-11-19 Thread Ilpo Järvinen
e skb may end up pointing to skb which got included to the probe skb and then was freed. For it to trigger, however, skb_transmit must fail sending as well. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- include/net/tcp.h |3 +++ net/ipv4/tcp_output.c |1 - 2 files changed, 3

Re: [RFC PATCH 09/10] [TCP]: Rewrite SACK block processing & sack_recv_cache use

2007-11-20 Thread Ilpo Järvinen
On Mon, 19 Nov 2007, David Miller wrote: > From: "Ilpo_Järvinen" <[EMAIL PROTECTED]> > Date: Fri, 16 Nov 2007 15:44:40 +0200 (EET) > > > Besides the log(n) search for which patches already exists, only O(new > > information) scan start..end range would be necessary. Or had you > > something els

[RFC PATCH 0/2]: TCP MTUprobe fixes

2007-11-21 Thread Ilpo Järvinen
Hi all, Here are two other things in MTU probe code that caught my attention while attempting to figure out the sk_send_head usage there (sent patch to that earlier). The latter here is not strictly speaking a fix but the original code has striking complexity to perform a query which

[RFC PATCH 2/2] [TCP] MTUprobe: Cleanup send queue check (no need to loop)

2007-11-21 Thread Ilpo Järvinen
l queued. Use of write_seq check guarantees that there's a valid skb in send_head so I removed the extra check. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_output.c |7 +-- 1 files changed, 1 insertions(+), 6 deletions(-) diff --git a/net/ipv4/tcp_

[RFC PATCH 1/2] [TCP]: MTUprobe: receiver window & data available checks fixed

2007-11-21 Thread Ilpo Järvinen
account packets that are necessary to trigger fast retransmit [RFC4821]. Location of snd_wnd < probe_size/size_needed check is bogus because it will cause the other if() match as well (due to snd_nxt >= snd_una invariant). Removed dead obvious comment. Signed-off-by: Ilpo Järvinen <[EMAIL

Re: [RFC PATCH 1/2] [TCP]: MTUprobe: receiver window & data available checks fixed

2007-11-22 Thread Ilpo Järvinen
On Thu, 22 Nov 2007, Herbert Xu wrote: > On Wed, Nov 21, 2007 at 06:01:27PM +0200, Ilpo Järvinen wrote: > > > > Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> > > Thanks for the patch Ilpo! > > I've just got a couple small questions. ...Thanks for actua

[PATCH net-2.6.25] [TCP]: Move FRTO checks out from write queue abstraction funcs

2007-11-23 Thread Ilpo Järvinen
Better place exists in update_send_head (other non-queue related adjustments are done there as well) which is the only caller of tcp_advance_send_head (now that the bogus call from mtu_probe is gone). Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- include/net/tcp.h |5

Re: [PATCH net-2.6.25] [TCP]: Move FRTO checks out from write queue abstraction funcs

2007-11-23 Thread Ilpo Järvinen
On Fri, 23 Nov 2007, Herbert Xu wrote: > On Fri, Nov 23, 2007 at 02:25:08PM +0200, Ilpo Järvinen wrote: > > > > Better place exists in update_send_head (other non-queue related > > adjustments are done there as well) which is the only caller of > > tcp_advance_send_he

[PATCH net-2.6.25] Fix pcounter build error without CONFIG_SMP

2007-11-26 Thread Ilpo Järvinen
': include/linux/pcounter.h:87: error: 'struct pcounter' has no member named 'value' make[1]: *** [ipc/mqueue.o] Error 1 make: *** [ipc] Error 2 Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- include/linux/pcounter.h |2 +- 1 files changed, 1 insertions(+), 1

[PATCH net-2.6.25] [TCP]: Two fixes to new sacktag code

2007-11-28 Thread Ilpo Järvinen
similar advancement is not problem because highest_sack was previosly put to point a sacked skb. These problems were located because of problem report from Matt Mathis <[EMAIL PROTECTED]>. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- ...I verified result from time-seq graphs now, th

[PATCH net-2.6.25 (v2)] [TCP]: Two fixes to new sacktag code

2007-11-28 Thread Ilpo Järvinen
On Wed, 28 Nov 2007, Ilpo Järvinen wrote: > @@ -1575,7 +1575,7 @@ tcp_sacktag_write_queue(struct sock *sk, struct sk_buff > *ack_skb, u32 prior_snd_ > continue; > } > > - if (!before(start_seq, tcp_highest_sack_seq(tp))) { >

[PATCH 01/21] [TCP]: Move LOSTRETRANS MIB outside !(L|S) check

2007-12-01 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= <[EMAIL PROTECTED]> Usually those skbs will have L set, not counting them as lost retransmissions is misleading. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_input.c |2 +- 1 files changed, 1 insertions(+), 1 deleti

[RFC PATCH net-2.6.25 0/21]: TCP tweaks & RB-tree WIP preview

2007-12-01 Thread Ilpo Järvinen
Hi all, First, there are some rather trivial ones (up to [TCP]: Cleanup local variables of clean _rtx_queue)... They're followed by my current efforts to improve SACK processing latencies with large windows, including RB-tree for fast searching, problem space split to provide tight bounds that re

[PATCH 02/21] [TCP]: Remove superflucious FLAG_DATA_SACKED

2007-12-01 Thread Ilpo Järvinen
marked with FLAG_DATA_SACKED. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_input.c | 10 +++--- 1 files changed, 3 insertions(+), 7 deletions(-) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index ba05e16..6986a2d 100644 --- a/net/ipv4/tcp_input.c ++

[PATCH 04/21] [TCP] Cong.ctrl modules: remove unused good_ack from cong_avoid

2007-12-01 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= <[EMAIL PROTECTED]> Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- include/net/tcp.h|4 ++-- net/ipv4/tcp_bic.c |3 +-- net/ipv4/tcp_cong.c |2 +- net/ipv4/tcp_cubic.c |3 +-- net/ipv4/tcp_highsp

[PATCH 03/21] [TCP]: Unite identical code from two seqno split blocks

2007-12-01 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= <[EMAIL PROTECTED]> Bogus seqno compares just mislead, the code is identical for both sides of the seqno compare (and was even executed just once because of return in between). Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4

[PATCH 05/21] [TCP] MTUprobe: prepare skb fields earlier

2007-12-01 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= <[EMAIL PROTECTED]> They better be valid when call to write_queue functions is made once things that follow are going in. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_output.c |3 ++- 1 files changed, 2 insertions(+),

[PATCH 09/21] [TCP]: Add unlikely() to urgent handling in clean_rtx_queue

2007-12-01 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= <[EMAIL PROTECTED]> Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_input.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 3f0b6c7..365c6d4 1006

[PATCH 10/21] [TCP]: Cleanup local variables of clean_rtx_queue

2007-12-01 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= <[EMAIL PROTECTED]> Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_input.c | 26 -- 1 files changed, 12 insertions(+), 14 deletions(-) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c i

[PATCH 08/21] [TCP]: Remove duplicated code block from clean_rtx_queue

2007-12-01 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= <[EMAIL PROTECTED]> Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_input.c | 48 1 files changed, 20 insertions(+), 28 deletions(-) diff --git a/net/ipv4/tcp_input.

[PATCH 07/21] [TCP]: Add tcp_for_write_queue_from_safe and use it in mtu_probe

2007-12-01 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= <[EMAIL PROTECTED]> Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- include/net/tcp.h |5 + net/ipv4/tcp_output.c |8 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/include/net/tcp.h b/include/net

[PATCH 12/21] [TCP]: Introduce per skb fack_counts to retransmit queue

2007-12-01 Thread Ilpo Järvinen
came from David S. Miller, included couple of bug fixes from Tom Quetchenbach <[EMAIL PROTECTED]>. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- include/net/tcp.h | 41 + 1 files changed, 41 insertions(+), 0 deletions(-) diff --git a/in

[PATCH 11/21] [TCP]: Abstract tp->highest_sack accessing & point to next skb

2007-12-01 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= <[EMAIL PROTECTED]> Pointing to the next skb is necessary to avoid referencing already SACKed skbs which will soon be on a separate list. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- include/net/tcp.

[PATCH 14/21] [TCP]: Added queue parameter to _for_write_queue helpers

2007-12-01 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= <[EMAIL PROTECTED]> Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- include/net/tcp.h |8 net/ipv4/tcp_input.c | 18 +- net/ipv4/tcp_output.c |8 3 files changed, 17 insertions(+), 17 deleti

[PATCH 17/21] [TCP]: Move tcp_write_queue_empty

2007-12-01 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= <[EMAIL PROTECTED]> Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- include/net/tcp.h | 10 +- 1 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/net/tcp.h b/include/net/tcp.h index 0883697..117fcc4 100644 -

[PATCH 16/21] [TCP]: Move tcp_check_dsack

2007-12-01 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= <[EMAIL PROTECTED]> Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_input.c | 66 +- 1 files changed, 33 insertions(+), 33 deletions(-) diff --git a/net/ipv4/tcp_input.

[PATCH 15/21] [TCP]: Use per skb fack count instead of function argument

2007-12-01 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= <[EMAIL PROTECTED]> Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_input.c | 30 +++--- 1 files changed, 15 insertions(+), 15 deletions(-) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c i

[PATCH 18/21] [TCP]: Move tcp_advance_highest_sack call early enough

2007-12-01 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= <[EMAIL PROTECTED]> The call must be done before any queue moves occur (done in the later patch). Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_input.c |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff

[PATCH 13/21] [TCP]: Store retransmit queue packets in RB tree.

2007-12-01 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= <[EMAIL PROTECTED]> This work was mostly done by David S. Miller. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- include/linux/skbuff.h |3 ++ include/linux/tcp.h |2 + include/net/tcp.h

[PATCH 19/21] [TCP]: Introduce tcp_real_queue_head(sk)

2007-12-01 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= <[EMAIL PROTECTED]> This is necessary when SACKed and non-SACKed spaces become separate in the later patch. However, callers should be converted to behave without this later on. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- inclu

[PATCH 06/21] [TCP]: Remove local variable and use packets_in_flight directly

2007-12-01 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= <[EMAIL PROTECTED]> Lines won't be that long and it's compiler's job to optimize them. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_output.c |9 +++-- 1 files changed, 3 insertions(+), 6 deletion

[PATCH 20/21] [TCP]: Introduce tcp_skb_adjacent to detect holes in wq

2007-12-01 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= <[EMAIL PROTECTED]> Soon the skbs in the write_queue won't necessary be adjacent ones because part of the queue is stored elsewhere. Verify that there isn't hole between skbs when trying to combine two of them. Signed-off-by: Ilpo Järvinen &

[PATCH 21/21] [TCP]: Split write queue into two parts (SACKed and not)

2007-12-01 Thread Ilpo Järvinen
nd tp->highest_sack may be obsolete after this. At least the highest item of recv_sack_cache is very likely redundant. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- include/linux/tcp.h |2 + include/net/tcp.h | 276 +--

Re: [PATCH 13/21] [TCP]: Store retransmit queue packets in RB tree.

2007-12-02 Thread Ilpo Järvinen
On Sun, 2 Dec 2007, Herbert Xu wrote: > On Sun, Dec 02, 2007 at 12:48:08AM +0200, Ilpo Järvinen wrote: > > > > This work was mostly done by David S. Miller. > > ... > > > @@ -253,6 +254,8 @@ struct sk_buff { > > struct sk_buff *next; &

Re: [PATCH 12/21] [TCP]: Introduce per skb fack_counts to retransmit queue

2007-12-02 Thread Ilpo Järvinen
On Sun, 2 Dec 2007, Herbert Xu wrote: > On Sun, Dec 02, 2007 at 12:48:07AM +0200, Ilpo Järvinen wrote: > > > > @@ -1220,6 +1221,11 @@ static inline struct sk_buff > > *tcp_write_queue_next(struct sock *sk, struct sk_bu > > return skb->next; > > } &g

[PATCH net-2.6.25] TCP: Fix copy-paste (or code move) error

2007-12-02 Thread Ilpo Järvinen
Should get the skb from the same queue. I had it first elsewhere and missed this change while moving. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- diff --git a/include/net/tcp.h b/include/net/tcp.h index 7ae72c3..5929022 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -

Re: kernel 2.6.23.8: KERNEL: assertion in net/ipv4/tcp_input.c

2007-12-03 Thread Ilpo Järvinen
On Mon, 3 Dec 2007, Wolfgang Walter wrote: > with kernel 2.6.23.8 we saw a > > KERNEL: assertion ((int)tcp_packets_in_flight(tp) >= 0) failed at > net/ipv4/tcp_input.c (1292) Is this the only message? Are there any Leak printouts? Any tweaking done to TCP related sysctls? And for completeness,

Re: [RFC] TCP illinois max rtt aging

2007-12-04 Thread Ilpo Järvinen
On Mon, 3 Dec 2007, Lachlan Andrew wrote: > On 03/12/2007, Stephen Hemminger <[EMAIL PROTECTED]> wrote: > > On Mon, 3 Dec 2007 15:59:23 -0800 > > "Shao Liu" <[EMAIL PROTECTED]> wrote: > > > And also a question, why the samples when SACK is active are outliers? > > > > Any sample with SACK is going

[PATCH net-2.6 0/3]: Three TCP fixes

2007-12-04 Thread Ilpo Järvinen
Hi Dave, Here are couple of fixes to net-2.6. The first one is to FRTO which may fix some corner-case bug if the hand-coded check and the !tcp_may_send_now disagree. I didn't check the differences that carefully so they might agree after considering what FRTO overrides from there, however, it make

[PATCH 3/3] [TCP]: NAGLE_PUSH seems to be a wrong way around

2007-12-04 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= <[EMAIL PROTECTED]> The comment in tcp_nagle_test suggests that. This bug is very very old, even 2.4.0 seems to have it. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_output.c |3 +-- 1 files changed, 1 insertions(+),

[PATCH 2/3] [TCP]: Move prior_in_flight collect to more robust place

2007-12-04 Thread Ilpo Järvinen
e case of tcp_reno_cong_avoid bails out early because it thinks that TCP is not limited by cwnd. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_input.c |3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c i

[PATCH 1/3] [TCP] FRTO: Use of existing funcs make code more obvious & robust

2007-12-04 Thread Ilpo Järvinen
ous frto_counter past tcp_may_send_now. In addition, returns can then be combined. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_input.c | 14 +- 1 files changed, 5 insertions(+), 9 deletions(-) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c in

Re: [PATCH net-2.6 0/3]: Three TCP fixes

2007-12-04 Thread Ilpo Järvinen
On Tue, 4 Dec 2007, John Heffner wrote: > Ilpo Järvinen wrote: > > ...I'm still to figure out why tcp_cwnd_down uses snd_ssthresh/2 > > as lower bound even though the ssthresh was already halved, so snd_ssthresh > > should suffice. > > I remember this coming

Re: [PATCH net-2.6 0/3]: Three TCP fixes

2007-12-04 Thread Ilpo Järvinen
On Tue, 4 Dec 2007, John Heffner wrote: > Ilpo Järvinen wrote: > > > ...Mind if I ask another similar one, any idea why prior_ssthresh is smaller > > (3/4 of it) than cwnd used to be (see tcp_current_ssthresh)? > > Not sure on that one. I'm not aware of any publi

Re: [PATCH 3/3] [TCP]: NAGLE_PUSH seems to be a wrong way around

2007-12-05 Thread Ilpo Järvinen
On Wed, 5 Dec 2007, David Miller wrote: > From: "Ilpo_Järvinen" <[EMAIL PROTECTED]> > Date: Tue, 4 Dec 2007 18:48:50 +0200 > > > The comment in tcp_nagle_test suggests that. This bug is very > > very old, even 2.4.0 seems to have it. > > > &g

[PATCH] [TCP]: Make invariant check complain about invalid sacked_out

2007-12-05 Thread Ilpo Järvinen
Earlier resolution for NewReno's sacked_out should now keep it small enough for this to become invariant-like check. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_input.c |5 + 1 files changed, 1 insertions(+), 4 deletions(-) diff --git a/net/ipv4/tcp_in

Re: [PATCH] [TCP]: Make invariant check complain about invalid sacked_out

2007-12-05 Thread Ilpo Järvinen
On Wed, 5 Dec 2007, Ilpo Järvinen wrote: > > Earlier resolution for NewReno's sacked_out should now keep > it small enough for this to become invariant-like check. > > Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> Forgot to modify it to the subject, this one to net-2.6.25 please. -- i.

Re: TCP event tracking via netlink...

2007-12-05 Thread Ilpo Järvinen
On Wed, 5 Dec 2007, Stephen Hemminger wrote: > On Wed, 05 Dec 2007 08:53:07 -0800 > Joe Perches <[EMAIL PROTECTED]> wrote: > > > > it occurred to me that we might want to do something > > > like a state change event generator. > > > > This could be a basis for an interesting TCP > > performance

Re: TCP event tracking via netlink...

2007-12-05 Thread Ilpo Järvinen
On Wed, 5 Dec 2007, David Miller wrote: > Ilpo, I was pondering the kind of debugging one does to find > congestion control issues and even SACK bugs and it's currently too > painful because there is no standard way to track state changes. That's definately true. > I assume you're using somethin

Re: [PATCH net-2.6 0/3]: Three TCP fixes

2007-12-05 Thread Ilpo Järvinen
On Wed, 5 Dec 2007, David Miller wrote: > From: John Heffner <[EMAIL PROTECTED]> > Date: Tue, 04 Dec 2007 13:42:41 -0500 > > > Ilpo Järvinen wrote: > > > ...I'm still to figure out why tcp_cwnd_down uses snd_ssthresh/2 > > > as lower bound even thoug

[PATCH net-2.6.25] [TCP]: Create tcp_mark_head_lost_single for NewReno

2007-12-05 Thread Ilpo Järvinen
Fixes NewReno breakage that got introduced because reno ended up into RFC3517 counting branch in tcp_mark_head_lost after the split space tweaks. The fack branch would have worked, however, coming lost marker updates would eventually add this anyway. Signed-off-by: Ilpo Järvinen <[EM

Re: [RFC] TCP illinois max rtt aging

2007-12-07 Thread Ilpo Järvinen
On Thu, 6 Dec 2007, Lachlan Andrew wrote: > On 04/12/2007, Ilpo Järvinen <[EMAIL PROTECTED]> wrote: > > On Mon, 3 Dec 2007, Lachlan Andrew wrote: > > > > > > When SACK is active, the per-packet processing becomes more involved, > > > tracking the list

Re: [RFC] TCP illinois max rtt aging

2007-12-07 Thread Ilpo Järvinen
On Fri, 7 Dec 2007, David Miller wrote: > From: "Ilpo_Järvinen" <[EMAIL PROTECTED]> > Date: Fri, 7 Dec 2007 13:05:46 +0200 (EET) > > > I guess if you get a large cumulative ACK, the amount of processing is > > still overwhelming (added DaveM if he has some idea how to combat it). > > > > Even a

Re: 2.6.24-rc4-mm1

2007-12-07 Thread Ilpo Järvinen
On Wed, 5 Dec 2007, David Miller wrote: > From: Reuben Farrelly <[EMAIL PROTECTED]> > Date: Thu, 06 Dec 2007 17:59:37 +1100 > > > On 5/12/2007 4:17 PM, Andrew Morton wrote: > > > - Lots of device IDs have been removed from the e1000 driver and moved > > > over > > > to e1000e. So if your e100

Re: TCP event tracking via netlink...

2007-12-07 Thread Ilpo Järvinen
On Thu, 6 Dec 2007, David Miller wrote: > From: "Ilpo_Järvinen" <[EMAIL PROTECTED]> > Date: Thu, 6 Dec 2007 01:18:28 +0200 (EET) > > > On Wed, 5 Dec 2007, David Miller wrote: > > > > > I assume you're using something like carefully crafted printk's, > > > kprobes, or even ad-hoc statistic counte

Re: [RFC] TCP illinois max rtt aging

2007-12-07 Thread Ilpo Järvinen
On Fri, 7 Dec 2007, Ilpo Järvinen wrote: > On Fri, 7 Dec 2007, David Miller wrote: > > > From: "Ilpo_Järvinen" <[EMAIL PROTECTED]> > > Date: Fri, 7 Dec 2007 13:05:46 +0200 (EET) > > > > > I guess if you get a large cumulative ACK, the amount

Re: tcp assertion failures in 2.6.24-rc4-mm1

2007-12-09 Thread Ilpo Järvinen
On Sun, 9 Dec 2007, Andrew Morton wrote: > > This is a mac g5. It is being used as a distcc server across the LAN > when... > > windfarm: CPUs control loops started. > EXT3-fs: INFO: recovery required on readonly filesystem. > EXT3-fs: write access will be enabled during recovery. > kjournald s

Re: 2.6.24-rc4-mm1

2007-12-10 Thread Ilpo Järvinen
x27;t return it because it's on the other list already). These manifest as fackets_out counting error later on, the second-order effects are very hard to track, so it may fix all out-standing TCP bug reports. 2) Prev == NULL check was wrong way around 3) Last skb's fack count was incorrectly

[PATCH] [TCP]: Bind fackets_out state to highest_sack more tightly

2007-12-10 Thread Ilpo Järvinen
Added checks will catch most of the errors if the current complex fack_count counting logic is flawed somewhere. Fackets_out should always be advancable if highest_sack is too because the fackets_out is nowadays accurate (and obviously it must be smaller than packets_out). Signed-off-by: Ilpo

Re: [PATCH] [TCP]: Bind fackets_out state to highest_sack more tightly

2007-12-10 Thread Ilpo Järvinen
> > > > Fackets_out should always be advancable if highest_sack is too > > because the fackets_out is nowadays accurate (and obviously it > > must be smaller than packets_out). > > > > Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> > > Applied to net

Re: 2.6.24-rc4-mm1

2007-12-10 Thread Ilpo Järvinen
On Mon, 10 Dec 2007, Ilpo Järvinen wrote: > Dave, please include this one to net-2.6.25. ... > -- > [PATCH] [TCP]: Fix fack_count miscountings (multiple places) I've better version of this coming up, so Dave please don't put this one into net-2.6.25 (noticed that both t

[TCP]: fack_counts more fixes (the previous ones were incomplete)

2007-12-11 Thread Ilpo Järvinen
losses in the same window when TCP runs out new data. Now check really against the list heads rather than a valid skb which should still be processed. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- include/net/tcp.h |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(

[PATCH net-2.6.25 0/2]: TCP minor

2007-12-11 Thread Ilpo Järvinen
Hi Dave, Here are two TCP patches. The first one removes not so useful parameter (my avoid GSO skb fragment RFC patch that I'll send separately right after I get this out depends it). The second applies cleanly only after the other fack_count fix patch. -- i. -- To unsubscribe from this list:

[PATCH 2/2] [TCP]: Include __tcp_reset_fack_counts to non-__ version

2007-12-11 Thread Ilpo Järvinen
This makes flow more obvious in case of short-circuit and removes need for prev double pointer & fc recount per queue switch. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- include/net/tcp.h | 54 ++-- 1 files changed, 19 inserti

[PATCH 1/2] [TCP]: Push fack_count calculation deeper into functions

2007-12-11 Thread Ilpo Järvinen
Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- net/ipv4/tcp_input.c | 16 +++- 1 files changed, 7 insertions(+), 9 deletions(-) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 75a16b3..977c68c 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c

[RFC PATCH net-2.6.25 uncompilable] [TCP]: Avoid breaking GSOed skbs when SACKed one-by-one (Was: Re: [RFC] TCP illinois max rtt aging)

2007-12-11 Thread Ilpo Järvinen
avoided if the sender could see the upcoming future. Not only SACK processing suffers but clean_rtx_queue as well is considerable hit when the corresponding cumulative ACK arrives. Thus implement a local cache for a single skb to avoid enormous splitting efforts while the latest SACK block is still gr

Re: 2.6.24-rc4-mm1 - BUG in tcp_fragment

2007-12-13 Thread Ilpo Järvinen
On Thu, 13 Dec 2007, Cedric Le Goater wrote: > I got this one while compiling on NFS. > > C. > > kernel BUG at /home/legoater/linux/2.6.24-rc4-mm1/include/net/tcp.h:1480! I'm not exactly sure what patches you have applied and which patches are not, with rc4-mm1 there are two patches (first one

[PATCH net-2.6.25] Revert recent TCP work

2007-12-14 Thread Ilpo Järvinen
On Fri, 14 Dec 2007, Ilpo Järvinen wrote: > So, I might soon prepare a revert patch for most of the questionable > TCP parts and ask Dave to apply it (and drop them fully during next > rebase) unless I suddently figure something out soon which explains > all/most of the problems,

Re: kernel 2.6.23.8: KERNEL: assertion in net/ipv4/tcp_input.c

2007-12-14 Thread Ilpo Järvinen
On Thu, 13 Dec 2007, Wolfgang Walter wrote: > it happened again with your patch applied: > > WARNING: at net/ipv4/tcp_input.c:1018 tcp_sacktag_write_queue() > > Call Trace: > [] tcp_sacktag_write_queue+0x7d0/0xa60 > [] add_partial+0x19/0x60 > [] tcp_ack+0x5a4/0x1d70 > [] tcp_rcv_established+0x

Re: [PATCH] [TCP]: Fix logic breakage due to DSACK separation

2007-07-03 Thread Ilpo Järvinen
On Mon, 2 Jul 2007, David Miller wrote: > From: "Ilpo_Järvinen" <[EMAIL PROTECTED]> > Date: Sat, 16 Jun 2007 02:04:25 +0300 (EEST) > > > There are still some things I must think carefully in sacktag processing > > since it does not validate start_seq and end_seq at all which can be > > abused c

Re: [PATCH 8/9] [TCP]: Reduce sacked_out with reno when purging write_queue

2007-07-03 Thread Ilpo Järvinen
> does not implement this). However, that would require very > > invasive change to fastretrans_alert (perhaps even slicing it to > > two halves). Alternatively, all callers of tcp_packets_in_flight > > (i.e., users that depend on sacked_out) should be postponed > > until

[PATCH] [BNX2]: Seems to not need net/tcp.h

2007-07-07 Thread Ilpo Järvinen
Got bored to always recompile it for no reason. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- drivers/net/bnx2.c |1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index 88b33c6..56244f6 100644 --- a/drivers/net/bnx2.c

[PATCH] [NET]: Another unnecessary net/tcp.h inclusion in net/dn.h

2007-07-08 Thread Ilpo Järvinen
No longer needed. Signed-off-by: Ilpo Järvinen <[EMAIL PROTECTED]> --- include/net/dn.h |1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/include/net/dn.h b/include/net/dn.h index ac4ce90..6277783 100644 --- a/include/net/dn.h +++ b/include/net/dn.h @@ -3,

  1   2   3   4   5   6   >