netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Reenabling TSO
@ 2004-03-08  4:32 Jeremy Kerr
  0 siblings, 0 replies; only message in thread
From: Jeremy Kerr @ 2004-03-08  4:32 UTC (permalink / raw)
  To: netdev; +Cc: anton

Hi all,

I've been running a few tests on the TSO & e1000 code which involve stressing 
a link between two hosts. The test program is rather trivial, simply repeated 
calls to sendfile() over a socket. The problem occurs when we see a TCP 
retransmit on the connection, after which TSO is disabled.

After looking through tcp_{input,output}.c, there seems to be no code to 
reenable TSO - so one retransmit will permanently disable TSO for a socket. 
This isn't such a problem for short-lived connections, but longer-lived ones 
will only use TSO for a small proportion of the data transferred, depending 
on the frequency of retransmits.

So, two questions:

Is it practical to reenable TSO at all? 

and

What metric do we use to determine when it is safe to reenable TSO? A simple 
metric may be the TCP window size - when this reaches a predefined threshold, 
we can set the  flag again. However, something more complex involving the 
number of sent packets and number of retransmits may be required.

Any thoughts?


Jeremy

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-03-08  4:32 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-03-08  4:32 Reenabling TSO Jeremy Kerr

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).