diff options
author | Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> | 2009-02-28 04:44:27 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-03-02 03:00:08 -0800 |
commit | ac11ba753f3aa839292c1a3b6c971c637ad2e839 (patch) | |
tree | 36bedcc6c6d6be721f2b9c5c0e5b8bf66ca112a5 /net/ipv4/tcp_output.c | |
parent | 79cb5def8dcad1a978841118bd14e155b3fd5589 (diff) | |
download | kernel_goldelico_gta04-ac11ba753f3aa839292c1a3b6c971c637ad2e839.zip kernel_goldelico_gta04-ac11ba753f3aa839292c1a3b6c971c637ad2e839.tar.gz kernel_goldelico_gta04-ac11ba753f3aa839292c1a3b6c971c637ad2e839.tar.bz2 |
tcp: don't backtrack to sacked skbs
Backtracking to sacked skbs is a horrible performance killer
since the hint cannot be advanced successfully past them...
...And it's totally unnecessary too.
In theory this is 2.6.27..28 regression but I doubt anybody
can make .28 to have worse performance because of other TCP
improvements.
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_output.c')
-rw-r--r-- | net/ipv4/tcp_output.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index f6f61b3..2471cd4 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -2065,7 +2065,7 @@ begin_fwd: goto begin_fwd; } else if (!(sacked & TCPCB_LOST)) { - if (hole == NULL && !(sacked & TCPCB_SACKED_RETRANS)) + if (hole == NULL && !(sacked & (TCPCB_SACKED_RETRANS|TCPCB_SACKED_ACKED))) hole = skb; continue; |