go/src
Dmitriy Vyukov dbcfed93e7 runtime: fix scheduler race condition
In starttheworld() we assume that P's with local work
are situated in the beginning of idle P list.
However, once we start the first M, it can execute all local G's
and steal G's from other P's.
That breaks the assumption above. Thus starttheworld() will fail
to start some P's with local work.
It seems that it can not lead to very bad things, but still
it's wrong and breaks other assumtions
(e.g. we can have a spinning M with local work).
The fix is to collect all P's with local work first,
and only then start them.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/10051045
2013-06-12 18:46:35 +04:00
..
cmd cmd/go: diagnose invalid coverage runs 2013-06-12 08:42:05 -04:00
lib9 lib9/utf: remove unneccesary includes 2013-05-31 15:53:26 -07:00
libbio
libmach all: fix typos 2013-06-09 21:50:24 +08:00
pkg runtime: fix scheduler race condition 2013-06-12 18:46:35 +04:00
Make.dist
all.bash
all.bat all.bat,make.bat,run.bat: make these work even when directory has space in it 2013-03-25 12:13:34 +11:00
all.rc build: do not set GOBIN on Plan 9 2013-02-26 09:25:46 -08:00
clean.bash
clean.bat
clean.rc
make.bash cmd/dist, make.bash: pass -mmacosx-version-min=10.6 to gcc on Darwin 2013-04-16 13:30:52 -07:00
make.bat all.bat,make.bat,run.bat: make these work even when directory has space in it 2013-03-25 12:13:34 +11:00
make.rc build: fix make.rc on Plan 9 2013-05-24 13:55:19 -07:00
race.bash
race.bat
run.bash cmd/go: fix LDFLAGS handling, enable misc/cgo/testso on Darwin 2013-05-22 00:32:03 +08:00
run.bat api: add go1.1.txt; update cmd/api to use it 2013-05-06 17:25:09 -07:00
run.rc build: do not set GOBIN on Plan 9 2013-02-26 09:25:46 -08:00
sudo.bash cmd/cov: delete 2013-05-24 11:06:06 -07:00