Re: Slow TCP connection between linux and wince

From: Pavel Machek (pavel@suse.cz)
Date: Sun Jun 04 2000 - 17:34:40 EST


Hi!

> > > 02:59:02.875029 192.168.55.100.1029 > 10.0.0.3.www: . ack 232141 win 3100 (DF)
> > > 02:59:02.875097 10.0.0.3.www > 192.168.55.100.1029: . 233601:235061(1460) ack 196 win 16060 (DF)
> > > 02:59:03.235031 192.168.55.100.1029 > 10.0.0.3.www: . ack 233601 win 3100 (DF)
> > > 02:59:03.235094 10.0.0.3.www > 192.168.55.100.1029: . 235061:236521(1460) ack 196 win 16060 (DF)
> > The WinCE machine does not seem to implement delayed acks. Without that
> > good performance is very hard.
>
> There's still a chance that the stack supports delayed acks because
> transmitting a segment of 1500 bytes over 115200 bps link takes about 130
> ms. Delayed ack timeout is 200 ms. As 2*130>200 the stack will never
> send delayed acks. Lowering MTU would help in this case.

As alexey already asked: how can not-doing delayed acks hurt? There's
no bandwith problem with too much acknowledges; transfer I'm doing is
large web download and acks cerainly are not bigger than payload going
other direction.

> I think it supports this theory that the time between sending two segments
> is about 350 ms = 130+200+~20 ms.
>
> Pavel, have you by chance tested with <2.3.99-pre3? This is just a hunch
> but you could try this patch.

It does not seem to do any difference (watching tcpdump with stopwatch
;-)

00:32:01.571514 10.0.0.3.www > 10.0.0.4.1040: . 954661:956121(1460) ack 1 win 16060 (DF)
00:32:02.111448 10.0.0.4.1040 > 10.0.0.3.www: . ack 954661 win 3100 (DF)
00:32:02.111524 10.0.0.3.www > 10.0.0.4.1040: . 956121:957581(1460) ack 1 win 16060 (DF)
00:32:02.581451 10.0.0.4.1040 > 10.0.0.3.www: . ack 956121 win 3100 (DF)
00:32:02.581516 10.0.0.3.www > 10.0.0.4.1040: . 957581:959041(1460) ack 1 win 16060 (DF)
00:32:02.941480 10.0.0.4.1040 > 10.0.0.3.www: . ack 957581 win 3100 (DF)
00:32:02.941543 10.0.0.3.www > 10.0.0.4.1040: . 959041:960501(1460) ack 1 win 16060 (DF)
00:32:03.481480 10.0.0.4.1040 > 10.0.0.3.www: . ack 959041 win 3100 (DF)
00:32:03.481550 10.0.0.3.www > 10.0.0.4.1040: . 960501:961961(1460) ack 1 win 16060 (DF)

> --- linux-2.4.0-test1-ac6.bak/net/ipv4/tcp.c Mon Apr 24 23:59:57 2000
> +++ linux-2.4.0-test1-ac6/net/ipv4/tcp.c Wed May 31 17:22:41 2000
> @@ -546,7 +546,7 @@
> struct socket *sock;
>
> read_lock(&sk->callback_lock);
> - if ((sock = sk->socket) != NULL && atomic_read(&sk->wmem_alloc) == 0) {
> + if ((sock = sk->socket) != NULL) {

                                                                Pavel

-- 
I'm pavel@ucw.cz. "In my country we have almost anarchy and I don't care."
Panos Katsaloulis describing me w.r.t. patents me at discuss@linmodems.org

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Jun 07 2000 - 21:00:21 EST