[RFC PATCH net-2.6.24 0/5]: TCP sacktag cache usage recoded

2007-09-24 Thread Ilpo Järvinen
Hi all, After couple of wrong-wayed before/after()s and one infinite loopy version, here's the current trial version of a sacktag cache usage recode Two first patches come from tcp-2.6 (rebased and rotated). This series apply cleanly only on top of the other three patch series I posted

[PATCH 1/5] [TCP]: Create tcp_sacktag_state.

2007-09-24 Thread Ilpo Järvinen
into worker routines. [I made minor tweaks due to rebase/reordering of stuff in tcp-2.6 tree, and dropped found_dup_sack dup_sack from state -ij] Signed-off-by: David S. Miller [EMAIL PROTECTED] Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- net/ipv4/tcp_input.c | 89

[PATCH 2/5] [TCP]: Create tcp_sacktag_one().

2007-09-24 Thread Ilpo Järvinen
From: David S. Miller [EMAIL PROTECTED] Worker function that implements the main logic of the inner-most loop of tcp_sacktag_write_queue(). Signed-off-by: David S. Miller [EMAIL PROTECTED] Acked-by: Ilpo Järvinen [EMAIL PROTECTED] --- net/ipv4/tcp_input.c | 213

[RFC PATCH 4/5] [TCP]: Rewrite sack_recv_cache (WIP)

2007-09-24 Thread Ilpo Järvinen
similar to the former fastpath. DSACKs are special case that must always be walked. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- include/linux/tcp.h |4 +- include/net/tcp.h |1 - net/ipv4/tcp_input.c | 320 ++-- net/ipv4/tcp_output.c

[DEVELOPER PATCH 5/5] [TCP]: Track sacktag

2007-09-24 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= [EMAIL PROTECTED] Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- include/linux/snmp.h | 20 +++ net/ipv4/proc.c | 20 +++ net/ipv4/tcp_input.c | 52 +++-- 3 files

Re: [PATCH 1/2] David Miller's rbtree patches for 2.6.22.6

2007-09-21 Thread Ilpo Järvinen
On Wed, 19 Sep 2007, Tom Quetchenbach wrote: Patch 1: David Miller's red-black tree code, tweaked for 2.6.22.6, with some bugfixes It would help if you would leave the original changes as is (rb-tree and fack_count separated) and add your work on top of that... diff -ur

Re: [PATCH 2/2] David Miller's rbtree patches for 2.6.22.6

2007-09-21 Thread Ilpo Järvinen
On Wed, 19 Sep 2007, Tom Quetchenbach wrote: Patch 2: fixes to fack_counts and enhancement of SACK fast path ...Usually these are not combined in patches but a separate patch per change. diff -ur linux-2.6.22.6-rbtree-davem-fixed/include/net/tcp.h

Re: [PATCH 0/2] David Miller's rbtree patches for 2.6.22.6

2007-09-21 Thread Ilpo Järvinen
On Wed, 19 Sep 2007, Tom Quetchenbach wrote: Here are a couple of patches against 2.6.22.6. The first one is just David's patches tweaked for 2.6.22.6, with a couple of minor bugfixes to get it to compile and not crash. Why did you combine original patches to a single larger one, I think Dave

[PATCH net-2.6.24 0/9]: TCP improvements cleanups

2007-09-20 Thread Ilpo Järvinen
Hi Dave, Just in case you're short on what to do ;-) here are some TCP related cleanups improvements to net-2.6.24. Including FRTO undo fix which finally should allow FRTO to be turned on, and some simple fastpath tweaks simple enough to the 2.6.24 schedule. ...I've a larger fastpath_hint

[PATCH 1/9] [TCP]: Maintain highest_sack accurately to the highest skb

2007-09-20 Thread Ilpo Järvinen
I'm not sure if it's worth of the trouble and added complexity to cover such marginal case). The collapse case has return for SACKED_ACKED case earlier, so just WARN_ON if internal inconsistency is detected for some reason. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- net/ipv4/tcp_output.c

[PATCH 2/9] [TCP]: Make fackets_out accurate

2007-09-20 Thread Ilpo Järvinen
Substraction for fackets_out is unconditional when snd_una advances, thus there's no need to do it inside the loop. Just make sure correct bounds are honored. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- net/ipv4/tcp_input.c | 10 +++--- net/ipv4/tcp_output.c | 44

[PATCH 3/9] [TCP]: clear_all_retrans_hints prefixed by tcp_

2007-09-20 Thread Ilpo Järvinen
In addition, fix its function comment spacing. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- include/net/tcp.h |4 ++-- net/ipv4/tcp_input.c | 10 +- net/ipv4/tcp_output.c |6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/include/net/tcp.h b

[PATCH 4/9] [TCP]: Move accounting from tso_acked to clean_rtx_queue

2007-09-20 Thread Ilpo Järvinen
The accounting code is pretty much the same, so it's a shame we do it in two places. I'm not too sure if added fully_acked check in MTU probing is really what we want perhaps the added end_seq could be used in the after() comparison. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- net/ipv4

[PATCH 6/9] [TCP] FRTO: Improve interoperability with other undo_marker users

2007-09-20 Thread Ilpo Järvinen
starting point for now and shouldn't have much effect except in majority of cases (if in any). By adding a new FLAG_ we avoid looping through write_queue when RTO occurs. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- net/ipv4/tcp_input.c | 42 +++--- 1 files

[PATCH 7/9] [TCP] FRTO: Update sysctl documentation

2007-09-20 Thread Ilpo Järvinen
Since the SACK enhanced FRTO was added, the code has been under test numerous times so remove experimental claim from the documentation. Also be a bit more verbose about the usage. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- Documentation/networking/ip-sysctl.txt | 17

[PATCH 5/9] [TCP]: Cleanup tcp_tso_acked and tcp_clean_rtx_queue

2007-09-20 Thread Ilpo Järvinen
adjustments (readability) - nested if()s combined (reduced indentation) - clarifying newlines added Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- net/ipv4/tcp_input.c | 66 ++--- 1 files changed, 30 insertions(+), 36 deletions(-) diff --git a/net

[PATCH 8/9] [TCP]: Enable SACK enhanced FRTO (RFC4138) by default

2007-09-20 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 948e79a..02b549b 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -85,7 +85,7 @@ int

[PATCH 9/9] [TCP]: Avoid clearing sacktag hint in trivial situations

2007-09-20 Thread Ilpo Järvinen
There's no reason to clear the sacktag skb hint when small part of the rexmit queue changes. Account changes (if any) instead when fragmenting/collapsing. RTO/FRTO do not touch SACKED_ACKED bits so no need to discard SACK tag hint at all. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED

Re: [PATCH - net-2.6.24 0/2] Introduce and use print_ip and print_ipv6

2007-09-20 Thread Ilpo Järvinen
On Thu, 20 Sep 2007, Joe Perches wrote: On Thu, 2007-09-20 at 07:55 -0700, Randy Dunlap wrote: How large are the patches if you posted them for review instead of just referencing gits for them? (which cuts down on review possibilities) The v4 is ~130kb, the v6 ~35kb. There is a

Re: [PATCH 9/9] [TCP]: Avoid clearing sacktag hint in trivial situations

2007-09-20 Thread Ilpo Järvinen
not touch SACKED_ACKED bits so no need to discard SACK tag hint at all. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] Applied, and I followed it up with this coding style fixlet. Yeah, that's for fixing it... ...Just didn't notice it was left wrong while doing things that required more

[PATCH netdev-2.6/ALL] DIV_ROUND_UP/roundup cleanup (under drivers/net/)

2007-09-11 Thread Ilpo Järvinen
Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- drivers/net/arcnet/rfc1201.c|3 ++- drivers/net/atl1/atl1_main.c| 17 +++-- drivers/net/gianfar_ethtool.c |2 +- drivers/net/ibm_emac/ibm_emac_mal.h |3 ++- drivers/net/mlx4/alloc.c

Re: [PATCH] make _minimum_ TCP retransmission timeout configurable

2007-09-05 Thread Ilpo Järvinen
On Wed, 29 Aug 2007, David Miller wrote: From: Rick Jones [EMAIL PROTECTED] Date: Wed, 29 Aug 2007 16:06:27 -0700 I belive the biggest component comes from link-layer retransmissions. There can also be some short outtages thanks to signal blocking, tunnels, people with big hats and

[PATCH net-2.6.24] [NET]: DIV_ROUND_UP cleanup (part two)

2007-08-28 Thread Ilpo Järvinen
it previously. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- include/net/sock.h |3 ++- net/bridge/br_stp_bpdu.c |2 +- net/dccp/ackvec.c|5 ++--- net/ieee80211/ieee80211_crypt_ccmp.c |5 +++-- net/ipv4/inet_diag.c

net-2.6.24 build broken (allyesconfig)

2007-08-27 Thread Ilpo Järvinen
Hi, $ git-reset --hard net-2.6.24-origin HEAD is now at e2eb35e... [ATM]: Fix build errors after conversion to pr_debug() $ make allyesconfig ... $ make bzImage ... CC drivers/net/82596.o drivers/net/82596.c:1618:1: error: unterminated argument list invoking macro DEB drivers/net/82596.c:

Re: [PATCH 4/5] [TCP]: Discard fuzzy SACK blocks

2007-08-25 Thread Ilpo Järvinen
SACK blocks really mean (e.g., one that has start and end sequence numbers reversed). So now close the roulette once and for all. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] Thanks a lot for coding this up, I like it a lot, applied. I have some minor worries about the D-SACK lower

[PATCH net-2.6.24] [NET] Cleanup: DIV_ROUND_UP

2007-08-22 Thread Ilpo Järvinen
Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- net/ipv4/tcp_output.c |6 +- net/key/af_key.c | 17 + 2 files changed, 6 insertions(+), 17 deletions(-) diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 10b2e39..bca4ee2 100644 --- a/net/ipv4

[PATCH net-2.6.24 0/5] TCP: Cleanups SACK block validation

2007-08-20 Thread Ilpo Järvinen
Hi Dave, Here are couple of patches to net-2.6.24. The first three are trivial cleanups. The idea to the last two comes from tcp-2.6 but the validator has been heavily modified (and hopefully improved in the process :-)). I'm not sure though if checking for the undo_marker boundary crossing case

[PATCH 4/5] [TCP]: Discard fuzzy SACK blocks

2007-08-20 Thread Ilpo Järvinen
numbers reversed). So now close the roulette once and for all. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- net/ipv4/tcp_input.c | 82 ++ 1 files changed, 82 insertions(+), 0 deletions(-) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c

[PATCH 2/5] [TCP]: tcp_packets_out_inc to tcp_output.c (no callers elsewhere)

2007-08-20 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 | 12 net/ipv4/tcp_output.c | 12 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/include/net/tcp.h b/include/net/tcp.h

[PATCH 1/5] [TCP]: Remove unnecessary wrapper tcp_packets_out_dec

2007-08-20 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= [EMAIL PROTECTED] Makes caller side more obvious, there's no need to have a wrapper for this oneliner! Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- include/net/tcp.h |6 -- net/ipv4/tcp_input.c |2 +- net/ipv4/tcp_output.c |2

[PATCH 5/5] [TCP] MIB: Add counters for discarded SACK blocks

2007-08-20 Thread Ilpo Järvinen
just mislead if they occur in some scenario when there are other problems as well. Similarly, excessively delayed packets could cause normal DSACKs. Therefore, separate counters are allocated for DSACK events. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- include/linux/snmp.h |3 +++ net

[PATCH 3/5] [TCP]: Rename tcp_ack_packets_out - tcp_rearm_rto

2007-08-20 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= [EMAIL PROTECTED] Only thing that tiny function does is rearming the RTO (if necessary), name it accordingly. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- net/ipv4/tcp_input.c |5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) diff --git

Re: [PATCH] [IPv6]: Invalid semicolon after if statement

2007-08-16 Thread Ilpo Järvinen
to netfilter from Eric Dumazet inspired me to look around a bit by using some grep/sed stuff as looking for this kind of bugs seemed easy to automate. This is one of them I found where it looks like this semicolon is not valid. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED

Re: drivers/infiniband/mlx/mad.c misplaced ;

2007-08-16 Thread Ilpo Järvinen
...I guess those guys hunting for broken busyloops in the other thread could also benefit from similar searching commands introduced in this thread... ...Ccing Satyam to caught their attention too. On Wed, Aug 15, 2007 at 05:40:11PM -0700, Joe Perches wrote: There's more than a few of

Re: [PATCH 0/24] make atomic_read() behave consistently across all architectures

2007-08-16 Thread Ilpo Järvinen
On Thu, 16 Aug 2007, Herbert Xu wrote: We've been through that already. If it's a busy-wait it should use cpu_relax. I looked around a bit by using some command lines and ended up wondering if these are equal to busy-wait case (and should be fixed) or not: ./drivers/telephony/ixj.c 6674:

[PATCH] [IPv6]: Invalid semicolon after if statement

2007-08-15 Thread Ilpo Järvinen
A similar fix to netfilter from Eric Dumazet inspired me to look around a bit by using some grep/sed stuff as looking for this kind of bugs seemed easy to automate. This is one of them I found where it looks like this semicolon is not valid. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED

Re: net-2.6.24 GIT state

2007-08-10 Thread Ilpo Järvinen
On Thu, 9 Aug 2007, David Miller wrote: I applied everything up until the SACK validator to net-2.6.24 Ok, thanks. Everything I hit today which had not been posted before was trivial fix or a reasonable small cleanup. ...Yeah, I know that but don't want to give impression that something

[PATCH net-2.6.24] [TCP]: Update comment about highest_sack validity

2007-08-10 Thread Ilpo Järvinen
This stale info came from the original idea, which proved to be unnecessarily complex, sacked_out 0 is easy to do and that when it's going to be needed anyway (it _can_ be valid also when sacked_out == 0 but there's not going to be a guarantee about it for now). Signed-off-by: Ilpo Järvinen

Re: net-2.6.24 GIT state

2007-08-09 Thread Ilpo Järvinen
On Thu, 9 Aug 2007, David Miller wrote: Ok, as is clear for some the net-2.6.24 tree has been cut and is at: kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6.24.git I'll be going over the TCP bits Ilpo and I have been discussing ...In case I didn't make it clear previously,

Re: net-2.6.24 GIT state

2007-08-09 Thread Ilpo Järvinen
On Thu, 9 Aug 2007, David Miller wrote: From: Ilpo_Järvinen [EMAIL PROTECTED] Date: Thu, 9 Aug 2007 12:50:51 +0300 (EEST) Ok, in order to get this started I merged the above patches into net-2.6.24 I'm exhausted and done for today. :-) :-) We can work on the other bits next. Next

Re: [RFC] stuff from tcp-2.6 partially merged to upcoming net-2.6.24?

2007-08-08 Thread Ilpo Järvinen
On Wed, 8 Aug 2007, David Miller wrote: From: Ilpo_Järvinen [EMAIL PROTECTED] Date: Tue, 7 Aug 2007 16:19:58 +0300 (EEST) Do you have any suggestion how I should proceed? Or do you perhaps object such partial merge completely? ...I could try to come up with a cleaned up patch series

Re: TCP's initial cwnd setting correct?...

2007-08-08 Thread Ilpo Järvinen
On Tue, 7 Aug 2007, David Miller wrote: From: Ilpo_Järvinen [EMAIL PROTECTED] Date: Mon, 6 Aug 2007 15:37:15 +0300 (EEST) ...Another thing that makes me wonder, is the tp-mss_cache 1460 check as based on rfc3390 (and also it's precursor rfc2414) with up to 2190 bytes MSS TCP can use

[RFC] stuff from tcp-2.6 partially merged to upcoming net-2.6.24?

2007-08-07 Thread Ilpo Järvinen
Hi Dave, ...Noticed you were planning to open net-2.6.24 tree... IMHO, part of the stuff in tcp-2.6 could be merged to 2.6.24. I suggest that most of the stuff which is not directly related to the rbtree, new lost marker, nor sacktag reorganization are taken. Some of those things are very

TCP's initial cwnd setting correct?...

2007-08-06 Thread Ilpo Järvinen
as it's obsoleted by RFC3390. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- net/ipv4/tcp_input.c | 32 +--- net/ipv4/tcp_output.c |2 +- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index

Re: TCP's initial cwnd setting correct?...

2007-08-06 Thread Ilpo Järvinen
On Mon, 6 Aug 2007, Ilpo Järvinen wrote: ...Goto logic could be cleaner (somebody has any suggestion for better way to structure it?) ...I could probably move the setting of snd_cwnd earlier to avoid this problem if this seems a valid fix at all. -- i.

Re: TCP SACK issue, hung connection, tcpdump included

2007-08-02 Thread Ilpo Järvinen
On Tue, 31 Jul 2007, Darryl L. Miles wrote: I've been able to capture a tcpdump from both ends during the problem and its my belief there is a bug in 2.6.20.1 (at the client side) in that it issues a SACK option for an old sequence which the current window being advertised is beyond it. This

Re: [PATCH 1/2] [TCP]: Also handle snd_una changes in tcp_cwnd_down

2007-08-02 Thread Ilpo Järvinen
On Wed, 1 Aug 2007, Ilpo Järvinen wrote: tcp_cwnd_down must check for it too as it should be conservative in case of collapse stuff and also when receiver is trying to lie (though that wouldn't be very successful/useful anyway). Note: - Separated also is_dupack and do_lost

Re: TCP SACK issue, hung connection, tcpdump included

2007-08-02 Thread Ilpo Järvinen
...I dropped lkml, it's useless to bother them with this network related stuff... On Thu, 2 Aug 2007, Darryl Miles wrote: Ilpo Järvinen wrote: On Tue, 31 Jul 2007, Darryl L. Miles wrote: [...RFC bashing, snip...] * The older linux kernel for not being 100% SACK RFC compliant in its

[PATCH 2/2] [TCP]: DSACK signals data receival, be conservative

2007-08-01 Thread Ilpo Järvinen
In case a DSACK is received, it's better to lower cwnd as it's a sign of data receival. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- net/ipv4/tcp_input.c |5 - 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index c3124e6

[PATCH 1/2] [TCP]: Also handle snd_una changes in tcp_cwnd_down

2007-08-01 Thread Ilpo Järvinen
fackets_out. - Introduce FLAG_SND_UNA_ADVANCED * Some prior_snd_una arguments are unnecessary after it - Added helper FLAG_ANY_PROGRESS to avoid long FLAG...|FLAG... constructs Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- Dave, BEWARE, I wasn't able to do anything else but compile test

Re: [PATCH net-2.6 1/2] [TCP]: Fix ratehalving with bidirectional flows

2007-07-31 Thread Ilpo Järvinen
On Tue, 31 Jul 2007, Stephen Hemminger wrote: I noticed no difference in the two flow tests. That is not a bad thing, just that this test doesn't hit that code. ...I'm not too sure about your test setup but the bugs I fixed only cover cases that occur if flow is bidirectional (and obviously

[PATCH net-2.6 0/2] [TCP]: Fix bidirectional brokeness

2007-07-30 Thread Ilpo Järvinen
Hi Dave, While testing frto with bidirection TCP a while (months) ago, I encountered time-seq graphs which made absolutely no sense as if recoveries only completed after RTO. As a result, I noticed that rate-halving has problem when a flow is bidirection but testing the patch has been on my

[PATCH net-2.6 1/2] [TCP]: Fix ratehalving with bidirectional flows

2007-07-30 Thread Ilpo Järvinen
for ACK only if packets in flight was supposedly changed too. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- net/ipv4/tcp_input.c | 23 +-- 1 files changed, 13 insertions(+), 10 deletions(-) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 0163051..767f92c

[PATCH net-2.6 2/2] [TCP]: Bidir flow must not disregard SACK blocks for lost marking

2007-07-30 Thread Ilpo Järvinen
cannot be placed to the if statement which seems attractive solution. Nevertheless, I didn't like adding another variable just for that either... :-) Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- net/ipv4/tcp_input.c |5 - 1 files changed, 4 insertions(+), 1 deletions(-) diff --git

Re: [PATCH net-2.6 1/2] [TCP]: Fix ratehalving with bidirectional flows

2007-07-30 Thread Ilpo Järvinen
in a bidirectional flows suffer quite badly because of this, both NewReno and SACK are affected. After this patch, rate halving is performed for ACK only if packets in flight was supposedly changed too. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] This fix looks great, and I see

Re: [PATCH net-2.6 2/2] [TCP]: Bidir flow must not disregard SACK blocks for lost marking

2007-07-30 Thread Ilpo Järvinen
On Mon, 30 Jul 2007, David Miller wrote: From: Ilpo_Järvinen [EMAIL PROTECTED] Date: Mon, 30 Jul 2007 20:19:40 +0300 (EEST) I'm not completely pleased with this solution because readability of the code is somewhat questionable as 'is_dupack' in SACK case is no longer about dupacks only

Re: TCP SACK issue, hung connection, tcpdump included

2007-07-29 Thread Ilpo Järvinen
On Sun, 29 Jul 2007, Willy Tarreau wrote: On Sun, Jul 29, 2007 at 06:59:26AM +0100, Darryl L. Miles wrote: CLIENT = Linux 2.6.20.1-smp [Customer build] SERVER = Linux 2.6.9-55.ELsmp [Red Hat Enterprise Linux AS release 4 (Nahant Update 5)] The problems start around time index

Re: TCP SACK issue, hung connection, tcpdump included

2007-07-29 Thread Ilpo Järvinen
On Sun, 29 Jul 2007, Willy Tarreau wrote: On Sun, Jul 29, 2007 at 11:26:00AM +0300, Ilpo Järvinen wrote: On Sun, 29 Jul 2007, Willy Tarreau wrote: On Sun, Jul 29, 2007 at 06:59:26AM +0100, Darryl L. Miles wrote: CLIENT = Linux 2.6.20.1-smp [Customer build] SERVER = Linux 2.6.9-55

Re: TCP SACK issue, hung connection, tcpdump included

2007-07-29 Thread Ilpo Järvinen
On Sun, 29 Jul 2007, Willy Tarreau wrote: On Sun, Jul 29, 2007 at 12:28:04PM +0300, Ilpo Järvinen wrote: [...snip...] BTW, some information are missing. It would have been better if the trace had been read with tcpdump -Svv. We would have got seq numbers and ttl. Also, we do

Re: [RFC 2/3] TCP: cubic - eliminate use of receive time stamp

2007-07-19 Thread Ilpo Järvinen
Hi all, It's definately better to do rtt measurements in the proper callback like you're suggesting since the call to cong_avoid depends on too many factors (ECN, FRTO) that shouldn't inhibit rtt sampling though they, for a period, determine how cwnd must be set... -- i. On Thu, 19 Jul 2007,

Re: Linux 2.6.22: Leak r=1 1

2007-07-18 Thread Ilpo Järvinen
On Wed, 11 Jul 2007, Sami Farin wrote: That's right, so descriptive is the new Linux kernel 2.6.22. Linux safari.finland.fbi 2.6.22-cfs-v19 #3 SMP Tue Jul 10 00:22:25 EEST 2007 i686 i686 i386 GNU/Linux [EMAIL PROTECTED] /proc/sys/net/ipv4]# grep . * ...snip... tcp_frto:1 ...This is

Re: Linux 2.6.22: Leak r=1 1

2007-07-12 Thread Ilpo Järvinen
Sami. -- i. [PATCH] [TCP]: Verify the presence of RETRANS bit when leaving FRTO For yet unknown reason, something cleared SACKED_RETRANS bit underneath FRTO. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- net/ipv4/tcp_input.c |4 +++- 1 files changed, 3 insertions(+), 1 deletions

Re: Linux 2.6.22: Leak r=1 1

2007-07-12 Thread Ilpo Järvinen
On Thu, 12 Jul 2007, Sami Farin wrote: On Thu, Jul 12, 2007 at 10:53:57 +0300, Ilpo Järvinen wrote: On Wed, 11 Jul 2007, Sami Farin wrote: That's right, so descriptive is the new Linux kernel 2.6.22. Took a while to grep what is leaking. Linux safari.finland.fbi 2.6.22-cfs-v19

Re: [PATCH 2.6.22] TCP: Make TCP_RTO_MAX a variable (take 2)

2007-07-12 Thread Ilpo Järvinen
On Thu, 12 Jul 2007, Rick Jones wrote: One question is why the RTO gets so large that it limits failover? If Linux TCP is working correctly, RTO should be srtt + 2*rttvar So either there is a huge srtt or variance, or something is going wrong with RTT estimation. Given some

[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,7 +3,6

[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 +++ b

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 currently at

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

2007-07-03 Thread Ilpo Järvinen
of tcp_packets_in_flight (i.e., users that depend on sacked_out) should be postponed until the new sacked_out has been calculated but it isn't any simpler alternative. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] So basically the idea behind this patch is to do the update of the fake

Re: [RFC PATCH tcp-2.6 1/2] [TCP]: Discard fuzzy SACK blocks

2007-06-19 Thread Ilpo Järvinen
roulette rather than disarming just one bullet. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] This looks good applied. Does mainline 2.6.x has this NULL-ptr issues too? If so we'll have to fix it there very soon. The null-ptr issue is related to the new lost marker code which isn't

[RFC PATCH tcp-2.6 1/2] [TCP]: Discard fuzzy SACK blocks

2007-06-18 Thread Ilpo Järvinen
this could have been fixed locally but that would leave SACK processing hazardous in case of future modifications. IMHO, it's just better to close the whole roulette rather than disarming just one bullet. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- net/ipv4/tcp_input.c | 40

[PATCH tcp-2.6 0/2]: SACK block validation

2007-06-18 Thread Ilpo Järvinen
Hi, SACK block validation to tcp-2.6 tree. Before preparing this, I rebased tcp-2.6 to net-2.6 (not 2.6.23) because of DSACK patch in net-2.6 (some conflicts will occur). I did some very basic testing with this. No TCPSACKDiscards occured in it but it's kind of hard for me to fully test the whole

[RFC PATCH tcp-2.6 2/2] [TCP] MIB: Add counter for discarded SACK blocks

2007-06-18 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= [EMAIL PROTECTED] Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- include/linux/snmp.h |1 + net/ipv4/proc.c |1 + net/ipv4/tcp_input.c |4 +++- 3 files changed, 5 insertions(+), 1 deletions(-) diff --git a/include/linux/snmp.h b

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

2007-06-16 Thread Ilpo Järvinen
On Fri, 15 Jun 2007, David Miller wrote: From: Ilpo_Järvinen [EMAIL PROTECTED] Date: Sat, 16 Jun 2007 02:04:25 +0300 (EEST) On Fri, 15 Jun 2007, David Miller wrote: Patch applied. ...I think it should go to stable as well. I thought Baruch's DSACK seperation that created this

[PATCH net-2.6] [TCP]: Congestion control API RTT sampling fix

2007-06-15 Thread Ilpo Järvinen
timestamps nicely. In addition, the new behavior could give an invalid timestamp (zero) to RTT sampler if only skbs with TCPCB_RETRANS were ACKed. This solves both problems. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- include/linux/ktime.h | 12 include/linux/skbuff.h

[PATCH tcp-2.6 0/3]: cleanups

2007-06-15 Thread Ilpo Järvinen
Couple of relatively simple cleanups to tcp-2.6. -- i. - 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

[PATCH tcp-2.6 1/3] [TCP]: Add tcp_dec_pcount_approx int variant

2007-06-15 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 | 11 --- net/ipv4/tcp_output.c |8 ++-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/include/net/tcp.h b/include/net/tcp.h index

[PATCH tcp-2.6 2/3] [TCP]: Remove num_acked0 checks from cong.ctrl mods pkts_acked

2007-06-15 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= [EMAIL PROTECTED] There is no need for such check in pkts_acked because the callback is not invoked unless at least one segment got fully ACKed (i.e., the snd_una moved past skb's end_seq) by the cumulative ACK's snd_una advancement. Signed-off-by: Ilpo

[PATCH tcp-2.6 3/3] [TCP]: Move sack_ok access to obviously named funcs cleanup

2007-06-15 Thread Ilpo Järvinen
no users for IsDSack = I dropped it Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- include/net/tcp.h| 28 net/ipv4/tcp.c |2 +- net/ipv4/tcp_input.c | 103 +- net/ipv4/tcp_minisocks.c |2 +- net/ipv4

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

2007-06-15 Thread Ilpo Järvinen
Commit 6f74651ae626ec672028587bc700538076dfbefb is found guilty of breaking DSACK counting, which should be done only for the SACK block reported by the DSACK instead of every SACK block that is received along with DSACK information. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- net/ipv4

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

2007-06-15 Thread Ilpo Järvinen
instead of every SACK block that is received along with DSACK information. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] Thanks for performing such rigorous audits and finding regressions like this! They just come across, one thing leads to another, which again leads to another and so

[PATCH] [TCP]: Add missing break to TCP option parsing code

2007-06-14 Thread Ilpo Järvinen
This flaw does not affect any behavior (currently). Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- net/ipv4/tcp_input.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index d506bdc..aaf6f66 100644 --- a/net/ipv4

[PATCH net-2.6 1/1] [TCP]: Fix left_out setting during FRTO

2007-06-12 Thread Ilpo Järvinen
Without FRTO, the tcp_try_to_open is never called with lost_out 0 (see tcp_time_to_recover). However, when FRTO is enabled, the !tp-lost condition is not used until end of FRTO because that way TCP avoids premature entry to fast recovery during FRTO. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED

[RFC PATCH net-2.6] [TCP]: Congestion control API RTT sampling fix

2007-06-12 Thread Ilpo Järvinen
sampler if only skbs with TCPCB_RETRANS were ACKed. This solves both problems. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- include/linux/ktime.h | 18 ++ include/linux/skbuff.h |4 net/ipv4/tcp_illinois.c |3 +++ net/ipv4/tcp_input.c|6 +- net

Re: Suspicious fackets_out handling

2007-06-01 Thread Ilpo Järvinen
might not be dealt that cleanly everywhere (but I'm sure that you can come to a good decicion about it): [PATCH] [TCP]: SACK fastpath did override adjusted fackets_out Do same adjustment to SACK fastpath counters provided that they're valid. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED

Re: [PATCH] [TCP]: Fix GSO ignorance of pkts_acked arg (cong.cntrl modules)

2007-06-01 Thread Ilpo Järvinen
. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] Patch applied, thanks a lot! ...It's good to be on the alert with this one because it might uncover some hidden bugs from congestion control module code (it changes some behavior so radically), which obviously will have to be then fixed too

Re: [PATCH 3/9] [TCP]: Tighten tcp_sock's belt, drop left_out

2007-05-31 Thread Ilpo Järvinen
Thanks for you comments... On Thu, 31 May 2007, David Miller wrote: From: Ilpo_Järvinen [EMAIL PROTECTED] Date: Sat, 26 May 2007 11:35:56 +0300 It is easily calculable when needed and user are not that many after all. This looks good, but are you absolutely sure we never used a stale

Re: [PATCH-2.4] Fix divide by 0 in vegas_cong_avoid()

2007-05-30 Thread Ilpo Järvinen
On Tue, 29 May 2007, Stephen Hemminger wrote: On Tue, 29 May 2007 20:23:45 +0200 Lior Dotan [EMAIL PROTECTED] wrote: NTP was not running. I'm not sure what do you mean by fixing the -1. The trace shows that vegas_cong_avoid() is called with -1, and the only way it can happen is from

[PATCH] [TCP]: Fix GSO ignorance of pkts_acked arg (cong.cntrl modules)

2007-05-30 Thread Ilpo Järvinen
On Tue, 29 May 2007, Ilpo Järvinen wrote: [PATCH] [TCP]: Fix GSO ignorance of pkts_acked arg (cong.cntrl modules) The code used to ignore GSO completely, passing either way too small or zero pkts_acked when GSO skb or part of it got ACKed. In addition, there is no need to calculate

Re: [PATCH-2.4] Fix divide by 0 in vegas_cong_avoid()

2007-05-30 Thread Ilpo Järvinen
On Wed, 30 May 2007, Stephen Hemminger wrote: On Wed, 30 May 2007 10:49:54 +0300 (EEST) Ilpo Järvinen [EMAIL PROTECTED] wrote: I think the code did a right thing before your api merge, since it called rtt callback only if FLAG_RETRANS_DATA_ACKED was not set (and pkts_acked always

Re: [PATCH 0/9]: tcp-2.6 patchset

2007-05-29 Thread Ilpo Järvinen
On Tue, 29 May 2007, Stephen Hemminger wrote: On Mon, 28 May 2007 13:27:03 +0300 (EEST) Ilpo Järvinen [EMAIL PROTECTED] wrote: On Sun, 27 May 2007, Ilpo Järvinen wrote: [PATCH] [TCP]: Fix GSO ignorance of pkts_acked arg (cong.cntrl modules) Yes, thanks for fixing this. Wonder how

Re: [PATCH 0/9]: tcp-2.6 patchset

2007-05-29 Thread Ilpo Järvinen
On Tue, 29 May 2007, Stephen Hemminger wrote: On Tue, 29 May 2007 23:07:00 +0300 (EEST) Ilpo Järvinen [EMAIL PROTECTED] wrote: On Tue, 29 May 2007, Stephen Hemminger wrote: Since we don't invoke congestion control modules until after the SYN handshake this is not a problem

Re: [PATCH 0/9]: tcp-2.6 patchset

2007-05-28 Thread Ilpo Järvinen
On Sun, 27 May 2007, Ilpo Järvinen wrote: On Sun, 27 May 2007, Baruch Even wrote: * Ilpo J?rvinen [EMAIL PROTECTED] [070527 14:16]: Thus, my original question basically culminates in this: should cc modules be passed number of packets acked or number of skbs acked? ...The latter

Re: [PATCH 6/9] [TCP]: Reorganize lost marking code

2007-05-27 Thread Ilpo Järvinen
On Sat, 26 May 2007, Ilpo Järvinen wrote: -static void tcp_update_scoreboard_fack(struct sock *sk, u32 entry_seq, -int fast_rexmit) +struct sk_buff *tcp_update_scoreboard_fack(struct sock *sk, u32 entry_seq, +int

Re: [PATCH 0/9]: tcp-2.6 patchset

2007-05-27 Thread Ilpo Järvinen
On Sat, 26 May 2007, David Miller wrote: From: Ilpo_Järvinen [EMAIL PROTECTED] Date: Sat, 26 May 2007 11:35:53 +0300 Dave, you could consider applying other than the last one if they seem ok to you too (you'll need to rebase your tcp-2.6 in that case first to apply cleanly those that

Re: [PATCH 0/9]: tcp-2.6 patchset

2007-05-27 Thread Ilpo Järvinen
On Sun, 27 May 2007, David Miller wrote: From: Ilpo_Järvinen [EMAIL PROTECTED] Date: Sun, 27 May 2007 10:58:27 +0300 (EEST) While you're in the right context (reviewing patch 8), you could also look if tcp_clean_rtx_queue does a right thing when passing a strange pkts_acked to

Re: [PATCH 0/9]: tcp-2.6 patchset

2007-05-27 Thread Ilpo Järvinen
On Sun, 27 May 2007, Baruch Even wrote: * Ilpo J?rvinen [EMAIL PROTECTED] [070527 14:16]: Thus, my original question basically culminates in this: should cc modules be passed number of packets acked or number of skbs acked? ...The latter makes no sense to me unless the value is intented

[PATCH 0/9]: tcp-2.6 patchset

2007-05-26 Thread Ilpo Järvinen
Hi, Here are some changes to TCP I've been baking. Before doing this patchset, I rebased tcp-2.6 branch to the current net-2.6 (goes almost cleanly) because there are some depencies to the TCP work in there. I booted these today and no very obvious problems showed up (OOPSes, BUG()s, reported

[PATCH 2/9] [TCP] FRTO: remove unnecessary fackets/sacked_out recounting

2007-05-26 Thread Ilpo Järvinen
have received some duplicate ACKs prior RTO. To achieve that in a sane manner, tcp_reset_reno_sack was re-placed by the previous patch. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- net/ipv4/tcp_input.c | 23 +++ 1 files changed, 7 insertions(+), 16 deletions(-) diff

[PATCH 3/9] [TCP]: Tighten tcp_sock's belt, drop left_out

2007-05-26 Thread Ilpo Järvinen
From: =?ISO-8859-1?q?Ilpo_J=E4rvinen?= [EMAIL PROTECTED] It is easily calculable when needed and user are not that many after all. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- include/linux/tcp.h |1 - include/net/tcp.h|4 ++-- net/ipv4/tcp_input.c | 11

[PATCH 1/9] [TCP]: Move Reno SACKed_out counter functions earlier

2007-05-26 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 | 98 -- 1 files changed, 47 insertions(+), 51 deletions(-) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c

<    1   2   3   4   5   6   >