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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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:
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
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
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
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
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
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
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
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
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
...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
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:
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
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
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
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,
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
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
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
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
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
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.
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
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
...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
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
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
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
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
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
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
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
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
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
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
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
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,
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
301 - 400 of 511 matches
Mail list logo