Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(621)

Issue 7579044: code review 7579044: runtime: integrated network poller for linux (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
1 year, 1 month ago by dvyukov
Modified:
1 year, 1 month ago
Reviewers:
albert.strasheim
CC:
golang-dev, iant, bradfitz, dfc, rsc
Visibility:
Public.

Description

runtime: integrated network poller for linux
vs tip:
BenchmarkTCP4OneShot                    172994        40485  -76.60%
BenchmarkTCP4OneShot-2                   96581        30028  -68.91%
BenchmarkTCP4OneShot-4                   52615        18454  -64.93%
BenchmarkTCP4OneShot-8                   26351        12289  -53.36%
BenchmarkTCP4OneShot-16                  12258        16093  +31.29%
BenchmarkTCP4OneShot-32                  13200        17045  +29.13%

BenchmarkTCP4OneShotTimeout             124814        42932  -65.60%
BenchmarkTCP4OneShotTimeout-2            99090        29040  -70.69%
BenchmarkTCP4OneShotTimeout-4            51860        18455  -64.41%
BenchmarkTCP4OneShotTimeout-8            26100        12073  -53.74%
BenchmarkTCP4OneShotTimeout-16           12198        16654  +36.53%
BenchmarkTCP4OneShotTimeout-32           13438        17143  +27.57%

BenchmarkTCP4Persistent                 115647         7782  -93.27%
BenchmarkTCP4Persistent-2                58024         4808  -91.71%
BenchmarkTCP4Persistent-4                24715         3674  -85.13%
BenchmarkTCP4Persistent-8                16431         2407  -85.35%
BenchmarkTCP4Persistent-16                2336         1875  -19.73%
BenchmarkTCP4Persistent-32                1689         1637   -3.08%

BenchmarkTCP4PersistentTimeout           79754         7859  -90.15%
BenchmarkTCP4PersistentTimeout-2         57708         5952  -89.69%
BenchmarkTCP4PersistentTimeout-4         26907         3823  -85.79%
BenchmarkTCP4PersistentTimeout-8         15036         2567  -82.93%
BenchmarkTCP4PersistentTimeout-16         2507         1903  -24.09%
BenchmarkTCP4PersistentTimeout-32         1717         1627   -5.24%

vs old scheduler:
benchmark                           old ns/op    new ns/op    delta
BenchmarkTCPOneShot                    192244        40485  -78.94%
BenchmarkTCPOneShot-2                   63835        30028  -52.96%
BenchmarkTCPOneShot-4                   35443        18454  -47.93%
BenchmarkTCPOneShot-8                   22140        12289  -44.49%
BenchmarkTCPOneShot-16                  16930        16093   -4.94%
BenchmarkTCPOneShot-32                  16719        17045   +1.95%

BenchmarkTCPOneShotTimeout             190495        42932  -77.46%
BenchmarkTCPOneShotTimeout-2            64828        29040  -55.20%
BenchmarkTCPOneShotTimeout-4            34591        18455  -46.65%
BenchmarkTCPOneShotTimeout-8            21989        12073  -45.10%
BenchmarkTCPOneShotTimeout-16           16848        16654   -1.15%
BenchmarkTCPOneShotTimeout-32           16796        17143   +2.07%

BenchmarkTCPPersistent                  81670         7782  -90.47%
BenchmarkTCPPersistent-2                26598         4808  -81.92%
BenchmarkTCPPersistent-4                15633         3674  -76.50%
BenchmarkTCPPersistent-8                18093         2407  -86.70%
BenchmarkTCPPersistent-16               17472         1875  -89.27%
BenchmarkTCPPersistent-32                7679         1637  -78.68%

BenchmarkTCPPersistentTimeout           83186         7859  -90.55%
BenchmarkTCPPersistentTimeout-2         26883         5952  -77.86%
BenchmarkTCPPersistentTimeout-4         15776         3823  -75.77%
BenchmarkTCPPersistentTimeout-8         18180         2567  -85.88%
BenchmarkTCPPersistentTimeout-16        17454         1903  -89.10%
BenchmarkTCPPersistentTimeout-32         7798         1627  -79.14%

Patch Set 1 #

Patch Set 2 : diff -r 5b76706b55af https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 3 : diff -r 1da9617aaae9 https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 4 : diff -r fceb4b7359ef https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 5 : diff -r fceb4b7359ef https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 6 : diff -r fceb4b7359ef https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 7 : diff -r fceb4b7359ef https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 8 : diff -r fceb4b7359ef https://dvyukov%40google.com@code.google.com/p/go/ #

Total comments: 1

Patch Set 9 : diff -r dfbaf2b999a6 https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 10 : diff -r dfbaf2b999a6 https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 11 : diff -r dfbaf2b999a6 https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 12 : diff -r dfbaf2b999a6 https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 13 : diff -r dfbaf2b999a6 https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 14 : diff -r dcb835ff82e0 https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 15 : diff -r dcb835ff82e0 https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 16 : diff -r 631535312f2b https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 17 : diff -r 631535312f2b https://dvyukov%40google.com@code.google.com/p/go/ #

Unified diffs Side-by-side diffs Delta from patch set Stats (+256 lines, -208 lines) Patch
R src/pkg/net/fd_linux.go View 1 2 3 4 1 chunk +0 lines, -192 lines 0 comments Download
M src/pkg/net/fd_poll_runtime.go View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -1 line 0 comments Download
M src/pkg/net/fd_poll_unix.go View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -1 line 0 comments Download
M src/pkg/runtime/defs2_linux.go View 1 2 3 4 5 6 7 8 9 10 5 chunks +23 lines, -3 lines 0 comments Download
M src/pkg/runtime/defs_linux.go View 1 2 3 4 5 6 7 8 4 chunks +20 lines, -1 line 0 comments Download
M src/pkg/runtime/defs_linux_386.h View 1 2 3 4 5 6 7 8 4 chunks +21 lines, -1 line 0 comments Download
M src/pkg/runtime/defs_linux_amd64.h View 1 2 3 4 5 6 7 8 4 chunks +22 lines, -2 lines 0 comments Download
M src/pkg/runtime/mem_linux.c View 1 2 1 chunk +0 lines, -2 lines 0 comments Download
M src/pkg/runtime/netpoll.goc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -1 line 0 comments Download
A src/pkg/runtime/netpoll_epoll.c View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +80 lines, -0 lines 0 comments Download
M src/pkg/runtime/netpoll_stub.c View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -1 line 0 comments Download
M src/pkg/runtime/sys_linux_386.s View 1 2 3 4 5 6 7 8 9 10 1 chunk +43 lines, -0 lines 0 comments Download
M src/pkg/runtime/sys_linux_amd64.s View 1 2 3 4 5 6 7 8 9 10 1 chunk +43 lines, -0 lines 0 comments Download
M src/pkg/runtime/thread_linux.c View 1 2 3 1 chunk +0 lines, -3 lines 0 comments Download

Messages

Total messages: 14
dvyukov
Hello golang-dev@googlegroups.com, I'd like you to review this change to https://dvyukov%40google.com@code.google.com/p/go/
1 year, 1 month ago #1
dvyukov
On 2013/03/12 20:26:41, dvyukov wrote: > Hello mailto:golang-dev@googlegroups.com, > > I'd like you to review ...
1 year, 1 month ago #2
iant
LGTM
1 year, 1 month ago #3
bradfitz
https://codereview.appspot.com/7579044/diff/20001/src/pkg/runtime/netpoll_linux.c File src/pkg/runtime/netpoll_linux.c (right): https://codereview.appspot.com/7579044/diff/20001/src/pkg/runtime/netpoll_linux.c#newcode23 src/pkg/runtime/netpoll_linux.c:23: // TODO(dvyukov): set CLOEXEC I think (on an old ...
1 year, 1 month ago #4
dfc
> I've not yet figured out how to regenerate defs_linux_386.h (seems to require > kernel ...
1 year, 1 month ago #5
dvyukov
On 2013/03/12 21:34:17, bradfitz wrote: > https://codereview.appspot.com/7579044/diff/20001/src/pkg/runtime/netpoll_linux.c > File src/pkg/runtime/netpoll_linux.c (right): > > https://codereview.appspot.com/7579044/diff/20001/src/pkg/runtime/netpoll_linux.c#newcode23 > ...
1 year, 1 month ago #6
dvyukov
Note to myself: fix build tags, handle arm
1 year, 1 month ago #7
dvyukov
Some cool numbers: benchmark old ns/op new ns/op delta BenchmarkTCP4OneShot 172994 40485 -76.60% BenchmarkTCP4OneShot-2 96581 ...
1 year, 1 month ago #8
rsc
LGTM
1 year, 1 month ago #9
dvyukov
Updated build tags Now it is only for linux,386 linux,amd64
1 year, 1 month ago #10
dvyukov
*** Submitted as https://code.google.com/p/go/source/detail?r=f9c03cd9bd84 *** runtime: integrated network poller for linux vs tip: BenchmarkTCP4OneShot 172994 ...
1 year, 1 month ago #11
bradfitz
Yay! On Mar 14, 2013 8:06 AM, <dvyukov@google.com> wrote: > *** Submitted as > https://code.google.com/p/go/**source/detail?r=f9c03cd9bd84<https://code.google.com/p/go/source/detail?r=f9c03cd9bd84>*** ...
1 year, 1 month ago #12
albert.strasheim
On 2013/03/14 15:06:46, dvyukov wrote: > *** Submitted as https://code.google.com/p/go/source/detail?r=f9c03cd9bd84 *** > runtime: integrated network ...
1 year, 1 month ago #13
albert.strasheim
1 year, 1 month ago #14
Message was sent while issue was closed.
On 2013/03/16 00:32:15, albert.strasheim wrote:
> On 2013/03/14 15:06:46, dvyukov wrote:
> > *** Submitted as https://code.google.com/p/go/source/detail?r=f9c03cd9bd84
***
> > runtime: integrated network poller for linux
> I'm seeing some kind of regression related to UNIX socket pairs and
> net.FileConn.
> I have a test that makes a socket pair with syscall.Socketpair and then
> exchanges another socket pair over the first pair.
> When I call net.FileConn on the received socket I get a syscall.Errno with a
> value of -EEXIST (note the minus).

https://code.google.com/p/go/issues/detail?id=5061
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld 1278:e6ce13d99bf5