netdev
[Top] [All Lists]

Re: on the wire behaviour of TSO on/off is supposed to be the same yes?

To: Rick Jones <rick.jones2@xxxxxx>
Subject: Re: on the wire behaviour of TSO on/off is supposed to be the same yes?
From: "David S. Miller" <davem@xxxxxxxxxxxxx>
Date: Fri, 21 Jan 2005 14:18:20 -0800
Cc: netdev@xxxxxxxxxxx
In-reply-to: <41F17B7E.2020002@xxxxxx>
References: <41F1516D.5010101@xxxxxx> <200501211358.53783.jdmason@xxxxxxxxxx> <41F163AD.5070400@xxxxxx> <20050121124441.76cbbfb9.davem@xxxxxxxxxxxxx> <41F17B7E.2020002@xxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
On Fri, 21 Jan 2005 14:00:30 -0800
Rick Jones <rick.jones2@xxxxxx> wrote:

> Indeed, it waited for the ACK 4335, but then shouldn't it have emitted 
> 4344+1448 or 5792 bytes or perhaps 7240 (since there were two 
> ACKs?

The tcp_tso_win_divisor calculation occurs on the congestion window at the
time of the user request, not at the time of the ACK.

That's an interesting observation actually, thanks for showing it.

It means that ideally we might want to try and find a way to either:

1) defer the TSO window size calculation to some later moment, ie.
   at tcp_write_xmit() time

2) use an optimistic TSO size calculation at the same moment we compute
   it now, and later if it is found to be too aggressive we chop up the
   TSO frame and resegment the transmit queue to accomodate

Neither is easy to implement as far as I can tell, but it should fix
all the problems IBM and others are trying to work around by setting
the tcp_tso_win_divisor really small.

<Prev in Thread] Current Thread [Next in Thread>