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

Issue 10042044: code review 10042044: runtime: improve scheduler fairness (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
11 years, 10 months ago by dvyukov
Modified:
11 years, 9 months ago
Reviewers:
iant
CC:
golang-dev, iant
Visibility:
Public.

Description

runtime: improve scheduler fairness Currently global runqueue is starved if a group of goroutines constantly respawn each other (local runqueue never becomes empty). Fixes issue 5639.

Patch Set 1 #

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

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

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

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

Total comments: 5

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

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

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

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

Total comments: 4

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

Unified diffs Side-by-side diffs Delta from patch set Stats (+74 lines, -7 lines) Patch
M src/pkg/runtime/proc.c View 1 2 3 4 5 6 7 8 9 7 chunks +24 lines, -7 lines 0 comments Download
M src/pkg/runtime/proc_test.go View 1 2 3 4 5 2 chunks +50 lines, -0 lines 0 comments Download

Messages

Total messages: 11
dvyukov
Hello golang-dev@googlegroups.com, I'd like you to review this change to https://dvyukov%40google.com@code.google.com/p/go/
11 years, 10 months ago (2013-06-05 12:22:18 UTC) #1
iant
https://codereview.appspot.com/10042044/diff/11001/src/pkg/runtime/proc.c File src/pkg/runtime/proc.c (right): https://codereview.appspot.com/10042044/diff/11001/src/pkg/runtime/proc.c#newcode1164 src/pkg/runtime/proc.c:1164: if((int32)(p->tick - p->tickglobcheck) > 0) // be careful with ...
11 years, 10 months ago (2013-06-06 23:56:10 UTC) #2
dvyukov
https://codereview.appspot.com/10042044/diff/11001/src/pkg/runtime/proc.c File src/pkg/runtime/proc.c (right): https://codereview.appspot.com/10042044/diff/11001/src/pkg/runtime/proc.c#newcode1164 src/pkg/runtime/proc.c:1164: if((int32)(p->tick - p->tickglobcheck) > 0) // be careful with ...
11 years, 10 months ago (2013-06-07 14:42:06 UTC) #3
dvyukov
Added a comment explaining why we don't want to poll global queue too often. https://codereview.appspot.com/10042044/diff/11001/src/pkg/runtime/proc.c ...
11 years, 10 months ago (2013-06-07 15:10:57 UTC) #4
dvyukov
On 2013/06/07 14:42:06, dvyukov wrote: > https://codereview.appspot.com/10042044/diff/11001/src/pkg/runtime/proc.c > File src/pkg/runtime/proc.c (right): > > https://codereview.appspot.com/10042044/diff/11001/src/pkg/runtime/proc.c#newcode1164 > ...
11 years, 10 months ago (2013-06-07 15:12:10 UTC) #5
iant
On Fri, Jun 7, 2013 at 8:12 AM, <dvyukov@google.com> wrote: > > A good check ...
11 years, 9 months ago (2013-06-10 17:38:25 UTC) #6
dvyukov
Hello golang-dev@googlegroups.com, iant@golang.org (cc: golang-dev@googlegroups.com), Please take another look.
11 years, 9 months ago (2013-06-13 11:43:16 UTC) #7
dvyukov
On 2013/06/13 11:43:16, dvyukov wrote: > Hello mailto:golang-dev@googlegroups.com, mailto:iant@golang.org (cc: > mailto:golang-dev@googlegroups.com), > > Please ...
11 years, 9 months ago (2013-06-13 11:45:35 UTC) #8
iant
LGTM Thanks. https://codereview.appspot.com/10042044/diff/33001/src/pkg/runtime/proc.c File src/pkg/runtime/proc.c (right): https://codereview.appspot.com/10042044/diff/33001/src/pkg/runtime/proc.c#newcode1027 src/pkg/runtime/proc.c:1027: gp = globrunqget(m->p, -1); Since nobody is ...
11 years, 9 months ago (2013-06-14 15:40:37 UTC) #9
dvyukov
https://codereview.appspot.com/10042044/diff/33001/src/pkg/runtime/proc.c File src/pkg/runtime/proc.c (right): https://codereview.appspot.com/10042044/diff/33001/src/pkg/runtime/proc.c#newcode1027 src/pkg/runtime/proc.c:1027: gp = globrunqget(m->p, -1); On 2013/06/14 15:40:37, iant wrote: ...
11 years, 9 months ago (2013-06-15 12:03:03 UTC) #10
dvyukov
11 years, 9 months ago (2013-06-15 12:06:39 UTC) #11
*** Submitted as https://code.google.com/p/go/source/detail?r=81e554ab7787 ***

runtime: improve scheduler fairness
Currently global runqueue is starved if a group of goroutines
constantly respawn each other (local runqueue never becomes empty).
Fixes issue 5639.

R=golang-dev, iant
CC=golang-dev
https://codereview.appspot.com/10042044
Sign in to reply to this message.

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