Hi Alexey,
On Fri, 2 Sep 2005, Alexey Kuznetsov wrote:
quoted hunk ↗ jump to hunk
Anyway, ignoring this puzzle, the following patch for 2.4 should help.
--- net/ipv4/tcp_input.c.orig 2003-02-20 20:38:39.000000000 +0300
+++ net/ipv4/tcp_input.c 2005-09-02 22:28:00.845952888 +0400
app_win -= tp->ack.rcv_mss;
app_win = max(app_win, 2U*tp->advmss);
- if (!ofo_win)
- tp->window_clamp = min(tp->window_clamp, app_win);
tp->rcv_ssthresh = min(tp->window_clamp, 2U*tp->advmss);
}
}
I'm very happy to report that the above patch, applied to 2.6.12.6, seems
to have cured the TCP window problem we were experiencing. I've been
testing it extensively over the last 4 weeks, and I have yet to see any
repeats of the previous behavior.
The TCP window now usually settles to around 4k (unscaled, 16k scaled),
which is smallish but good enough for our purposes.
Thanks,
-Ion