9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* Re: [9fans] tcp!
@ 2012-08-21 18:32 Richard Miller
  2012-08-22 17:18 ` Gorka Guardiola
  0 siblings, 1 reply; 13+ messages in thread
From: Richard Miller @ 2012-08-21 18:32 UTC (permalink / raw)
  To: 9fans

I reported:

> Within the last month or so I've been having trouble copying large
> files to remote servers e.g. sources.  The cp process hangs for
> many minutes and eventually ends in 'mount rpc error'.

Thanks to a hint from Erik ("... an mss problem of some sort"), I've
managed to make the problem go away, by doing
  echo mtu 1496 >/net/ipifc/1/ctl

I hope to come back to this when I have more time, because I don't
like not understanding why this works.  As nobody else has said they
have the same trouble, there may be something amiss in my adsl gateway.




^ permalink raw reply	[flat|nested] 13+ messages in thread
* [9fans] tcp!
@ 2012-08-18 20:11 erik quanstrom
  2012-08-18 20:26 ` erik quanstrom
  2012-08-19 13:17 ` Richard Miller
  0 siblings, 2 replies; 13+ messages in thread
From: erik quanstrom @ 2012-08-18 20:11 UTC (permalink / raw)
  To: 9fans

since it came up, i put my working copy of tcp along with some testing
scripts in /n/sources/contrib/quanstro/tcp.

there are a number of fixes rolled into this, but the main fixes are
- add support for new reno,
- properly handle zero-window probes (on both ends),
- don't confuse the cwind with the receiver's advertized window.  this
particular condition can lead to livelock.
- don't confuse the window scale with the amount of local buffering
we'd like to do.
- and, don't queue tcp infinitely, which can crash kernels.  :-)

i don't have the numbers for the old tcp handy, but i think you'll
be surprised at how much difference there can be.  i saw differences
of 20x when the sender was limited in how fast it could read by the
read rate from user space.

i've included "testscript."  for the two machines i have handy, i get
the following results with new and old tcp.

machine		stack	kernel	0ms delay	1ms delay
ideal		-	386	unlimited	8.19mb/s

xeon x5550	old	386	138mb/s		0.49mb/s  (!)
intel atom	old	386	37.2mb/s		0.10mb/s

amd x4 964	new	386	145mb/s		8.03mb/s
intel e31220	new	amd64	303mb/s		8.15mb/s
intel atom	new	386	67mb/s		8.03mb/s
	# note: i can get up to 80mb/s using forsyth's qmalloc.


- erik



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2012-08-22 18:46 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-21 18:32 [9fans] tcp! Richard Miller
2012-08-22 17:18 ` Gorka Guardiola
2012-08-22 18:29   ` Steven Stallion
     [not found]   ` <CAGGHmKFokgrbH1P_j+31teoO9ubEvLu2Ti7_QP1+WPLXQ291Mg@mail.gmail.c>
2012-08-22 18:46     ` erik quanstrom
  -- strict thread matches above, loose matches on Subject: below --
2012-08-18 20:11 erik quanstrom
2012-08-18 20:26 ` erik quanstrom
2012-08-19 13:37   ` Richard Miller
2012-08-19 13:55     ` cinap_lenrek
2012-08-19 14:05       ` Richard Miller
2012-08-19 15:07         ` erik quanstrom
2012-08-19 14:48     ` erik quanstrom
2012-08-19 13:17 ` Richard Miller
2012-08-19 15:43   ` erik quanstrom

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).