summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2013-07-21 14:41:51 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2013-07-21 14:41:51 +0200
commit176569ca4d97b271f6e3697bdc5b6e50fb5ff30b (patch)
treec00a53fa7ed73f815620d5963c12cfb20714605b /lib
parent638a82236264f32f8988a3bf4b2933df409f5f55 (diff)
downloadplan9front-176569ca4d97b271f6e3697bdc5b6e50fb5ff30b.tar.xz
apply erik quanstros tcp-bdp patch (from sources)
this patch consists of two bits of work submitted as one patch. the first bit fixed a "pacing" problem, where a tcp connection rate-limited by the reading process would experience 10% of the expected throughput, and could even get into live lock. it was noticed at the time of this initial work that the stack often sent tiny grams. some good bits from nix' original tcp were merged in. the test program /n/sources/contrib/quanstro/tcptest.c will verify that under most conditions, a reader-paced connection now gets the expected throughput. expected arguments would be tcptest -s1 -n 5000 -l the second bit is a first step in preparing tcp to handle modest (1-2MB) bandwidth-delay products. the strategy was to completely implement NewReno. the testing network was a 7/35/70ms by 100Mbit wan emulator with 0/.05/.1% loss. here are the performance comparisons from the changes after the first round "old" to the submitted patch "new". the smallest improvement was 80%, the largest was 11x. loss% rtt old new 0.10 7 4.40 7.85 0.10 35 0.88 1.79 0.10 70 0.47 0.84 0.05 7 4.80 9.38 0.05 35 1.00 2.02 0.05 70 0.52 1.77 0.01 7 5.33 11.87 0.01 35 1.14 10.97 0.01 70 0.54 4.75 0.00 7 4.49 11.92 0.00 35 1.04 11.35 0.00 70 0.58 10.56 since the diff is not very easy to read, i wrote a small paper detailing the changes http://www.quanstro.net/plan9/tcp/tcp.pdf - erik
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions