Re: [patch] TCP/IP delacks disabled with MPI

Andi Kleen (ak@muc.de)
Mon, 24 May 1999 01:41:21 +0200


On Sun, May 23, 1999 at 07:23:09PM +0200, Andrea Arcangeli wrote:
> I did a new patch that have also some line of credits and uses the
> MAX_DELAY_ACK #define. My guess is that with this bit fixed MPI people
> won't need to kill delack-anymore to get performances. It would be nice to
> get feedback about this though :-). Thanks.

I think your patch is too complicated. First it could be implemented
much cheaper by keeping an outstanding packet counter that is
decremented by acks (and coincidentely we already have such a counter -
tp->packets_out / tcp_packets_in_flight). The send queue check is far
too costly.

But the trace shows that the problem is that sender doesn't get out of
slow start quickly enough because of the delacks. Now we already have
a mechanism in 2.2 to work around that - quick ack mode. It gets enabled
when there is some cue that the sender is in slow start and acks quickly.
Currently it only acks quickly a single packet (I believe that was been
done to optimize HTTP mainly), but that could be extended without too
many problems to ack more packet. There was a discussion about this recently
on the tcp-impl working group mailing list, and e.g. David Borman reported
that Unicos does just this very successfully for years, for upto 8 packets.

So I believe the right fix is to add a new sysctl that enlarges quick ack
mode to more packets.

-Andi

-
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/