Subject: Strange (?) tcp_cwm behavior
To: None <tech-net@netbsd.org>
From: Doug Donsbach <dldonsbach@tds.net>
List: tech-net
Date: 11/22/2002 16:17:56
I'm seeing something that seems strange to me regarding
AIX as an NFS v3 TCP client to our NetBSD server. Both
are on 100Mbit Ethernet. The server is using tcp_output.c
v 1.74 from a 1.5Y-ish code base.

The client does a 32K read. The server responds to the
32K read withing a few tens of microseconds with 4 packets.

After a very long delay, 200-300 milliseconds, the client
acks. Within a few tens of microseconds, the server responds
with 3 packets.

This process repeats until the read is satisfied. There are
no retransmitted packets and the client is always offering
a window much larger than the server is filling.

Needless to say, this results in read transfer rates in the
tens of kilobytes.

A Solaris client on the same network behaves in a similar
fashion, except delays only 200-300 microseconds before
acking.

If I defeat "Congestion Window Monitoring" by setting tcp_cwm
to zero, each client seems happy and read performance is as
expected.

My question is, doesn't it seem like the cwm logic is a little
broken?

Doug
-- 
Doug Donsbach - dldonsbach@tds.net