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

Issue 7314062: code review 7314062: runtime: improved scheduler (Closed)

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

Description

runtime: improved scheduler Distribute runnable queues, memory cache and cache of dead G's per processor. Faster non-blocking syscall enter/exit. More conservative worker thread blocking/unblocking.

Patch Set 1 #

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Patch Set 18 : diff -r 3391481b6373 https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 19 : diff -r 3391481b6373 https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 20 : diff -r 3391481b6373 https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 21 : diff -r 734059df2768 https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 22 : diff -r 734059df2768 https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 23 : diff -r 734059df2768 https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 24 : diff -r 237f213fc927 https://dvyukov%40google.com@code.google.com/p/go/ #

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

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

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

Patch Set 28 : diff -r 02ee8f7b9a17 https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 29 : diff -r 02ee8f7b9a17 https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 30 : diff -r 02ee8f7b9a17 https://dvyukov%40google.com@code.google.com/p/go/ #

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

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

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

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

Total comments: 1

Patch Set 35 : diff -r 059a3cd9172d https://dvyukov%40google.com@code.google.com/p/go/ #

Total comments: 26

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

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

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

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

Unified diffs Side-by-side diffs Delta from patch set Stats (+986 lines, -819 lines) Patch
M src/pkg/runtime/mgc0.c View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 4 chunks +9 lines, -14 lines 0 comments Download
M src/pkg/runtime/proc.c View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 34 chunks +954 lines, -798 lines 0 comments Download
M src/pkg/runtime/runtime.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 8 chunks +23 lines, -7 lines 0 comments Download

Messages

Total messages: 32
dfc
Could you please hg upload this again, % hg clpatch 7314062 abort: codereview issue 7314062 ...
11 years, 1 month ago (2013-02-21 00:33:45 UTC) #1
dvyukov
FTR patchset 21 is with network support
11 years, 1 month ago (2013-02-21 14:46:03 UTC) #2
dvyukov
Hello dave@cheney.net (cc: golang-dev@googlegroups.com), I'd like you to review this change to https://dvyukov%40google.com@code.google.com/p/go/
11 years, 1 month ago (2013-02-27 20:46:50 UTC) #3
dvyukov
I guess I need to attach some benchmarks.
11 years, 1 month ago (2013-02-27 20:50:58 UTC) #4
dvyukov
On 2013/02/27 20:50:58, dvyukov wrote: > I guess I need to attach some benchmarks. Unfortunately ...
11 years, 1 month ago (2013-02-27 21:10:46 UTC) #5
bradfitz
On Wed, Feb 27, 2013 at 1:10 PM, <dvyukov@google.com> wrote: > On 2013/02/27 20:50:58, dvyukov ...
11 years, 1 month ago (2013-02-27 23:22:31 UTC) #6
remyoudompheng
https://codereview.appspot.com/7314062/diff/62004/src/pkg/runtime/proc.c File src/pkg/runtime/proc.c (right): https://codereview.appspot.com/7314062/diff/62004/src/pkg/runtime/proc.c#newcode948 src/pkg/runtime/proc.c:948: // Tries to steal from other P's, get g ...
11 years, 1 month ago (2013-02-28 06:26:38 UTC) #7
dvyukov
On Thursday, February 28, 2013, Brad Fitzpatrick wrote: > > > On Wed, Feb 27, ...
11 years, 1 month ago (2013-02-28 09:04:54 UTC) #8
dvyukov
On Thursday, February 28, 2013, wrote: > > https://codereview.appspot.**com/7314062/diff/62004/src/** > pkg/runtime/proc.c<https://codereview.appspot.com/7314062/diff/62004/src/pkg/runtime/proc.c> > File src/pkg/runtime/proc.c (right): ...
11 years, 1 month ago (2013-02-28 09:06:41 UTC) #9
dvyukov
On 2013/02/28 06:26:38, remyoudompheng wrote: > https://codereview.appspot.com/7314062/diff/62004/src/pkg/runtime/proc.c > File src/pkg/runtime/proc.c (right): > > https://codereview.appspot.com/7314062/diff/62004/src/pkg/runtime/proc.c#newcode948 > ...
11 years, 1 month ago (2013-02-28 23:05:08 UTC) #10
dvyukov
On 2013/02/27 23:22:31, bradfitz wrote: > On Wed, Feb 27, 2013 at 1:10 PM, <mailto:dvyukov@google.com> ...
11 years, 1 month ago (2013-02-28 23:09:46 UTC) #11
remyoudompheng
Is it expected that proc.p is updated one day to match the new scheduler?
11 years, 1 month ago (2013-02-28 23:23:49 UTC) #12
dfc
> benchmark old ns/op new ns/op delta > BenchmarkSyscall 56 80 +44.46% This looks great, ...
11 years, 1 month ago (2013-02-28 23:26:54 UTC) #13
dvyukov
On 2013/02/28 23:23:49, remyoudompheng wrote: > Is it expected that proc.p is updated one day ...
11 years, 1 month ago (2013-02-28 23:28:27 UTC) #14
dvyukov
On 2013/02/28 23:26:54, dfc wrote: > > benchmark old ns/op new ns/op delta > > ...
11 years, 1 month ago (2013-02-28 23:29:42 UTC) #15
dvyukov
On 2013/02/28 23:26:54, dfc wrote: > > benchmark old ns/op new ns/op delta > > ...
11 years, 1 month ago (2013-02-28 23:36:11 UTC) #16
dvyukov
linux/amd64, 2 x Intel Xeon E5-2690, 2.90GHz, 16 HT cores, 32 HW threads. GOMAXPROCS=1 time ...
11 years, 1 month ago (2013-03-01 00:07:20 UTC) #17
bradfitz
On Thu, Feb 28, 2013 at 4:07 PM, <dvyukov@google.com> wrote: > linux/amd64, 2 x Intel ...
11 years, 1 month ago (2013-03-01 00:12:38 UTC) #18
dvyukov
On 2013/03/01 00:12:38, bradfitz wrote: > On Thu, Feb 28, 2013 at 4:07 PM, <mailto:dvyukov@google.com> ...
11 years, 1 month ago (2013-03-01 00:19:57 UTC) #19
dvyukov
On 2013/03/01 00:07:20, dvyukov wrote: > linux/amd64, 2 x Intel Xeon E5-2690, 2.90GHz, 16 HT ...
11 years, 1 month ago (2013-03-01 00:45:46 UTC) #20
dfc
> Then replacing: > -runtime·atomicstore(&mp->p->status, Psyscall); > +mp->p->status = Psyscall; > > reduces exec time ...
11 years, 1 month ago (2013-03-01 00:50:41 UTC) #21
dvyukov
On Fri, Mar 1, 2013 at 2:50 AM, Dave Cheney <dave@cheney.net> wrote: > > Then ...
11 years, 1 month ago (2013-03-01 01:18:00 UTC) #22
rsc
LGTM Thanks very much for this work. I patched this into my client and tested ...
11 years, 1 month ago (2013-03-01 05:11:43 UTC) #23
rsc
On 2013/02/28 23:23:49, remyoudompheng wrote: > Is it expected that proc.p is updated one day ...
11 years, 1 month ago (2013-03-01 05:14:49 UTC) #24
dvyukov
On 2013/03/01 05:11:43, rsc wrote: > LGTM > > Thanks very much for this work. ...
11 years, 1 month ago (2013-03-01 09:14:53 UTC) #25
dvyukov
FTR, patch set 36 is re-sync.
11 years, 1 month ago (2013-03-01 09:15:42 UTC) #26
dvyukov
https://codereview.appspot.com/7314062/diff/76001/src/pkg/runtime/proc.c File src/pkg/runtime/proc.c (right): https://codereview.appspot.com/7314062/diff/76001/src/pkg/runtime/proc.c#newcode28 src/pkg/runtime/proc.c:28: M* mhead; // m's waiting for work On 2013/03/01 ...
11 years, 1 month ago (2013-03-01 11:34:28 UTC) #27
dvyukov
crossing fingers and submitting for soaking %)
11 years, 1 month ago (2013-03-01 11:47:42 UTC) #28
dvyukov
*** Submitted as https://code.google.com/p/go/source/detail?r=231af8ac63aa *** runtime: improved scheduler Distribute runnable queues, memory cache and cache ...
11 years, 1 month ago (2013-03-01 11:49:39 UTC) #29
rsc
This broke FreeBSD and Windows, which assumed that newosproc would only ever be called with ...
11 years, 1 month ago (2013-03-01 13:30:56 UTC) #30
rsc
Windows is still broken. I know what's wrong but I want to fix it by ...
11 years, 1 month ago (2013-03-01 16:07:42 UTC) #31
dvyukov
11 years, 1 month ago (2013-03-01 16:28:44 UTC) #32
misc/cgo/test/TestCthread sometimes hangs on darwin with GOMAXPROCS=42, I
am working on this.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b