go/src/runtime
Dmitry Vyukov ea0386f85f runtime: improve randomized stealing logic
During random stealing we steal 4*GOMAXPROCS times from random procs.
One would expect that most of the time we check all procs this way,
but due to low quality PRNG we actually miss procs with frightening
probability. Below are modelling experiment results for 1e6 tries:

GOMAXPROCS = 2 : missed 1 procs 7944 times

GOMAXPROCS = 3 : missed 1 procs 101620 times
GOMAXPROCS = 3 : missed 2 procs 3571 times

GOMAXPROCS = 4 : missed 1 procs 63916 times
GOMAXPROCS = 4 : missed 2 procs 61 times
GOMAXPROCS = 4 : missed 3 procs 16 times

GOMAXPROCS = 5 : missed 1 procs 133136 times
GOMAXPROCS = 5 : missed 2 procs 1025 times
GOMAXPROCS = 5 : missed 3 procs 101 times
GOMAXPROCS = 5 : missed 4 procs 15 times

GOMAXPROCS = 8 : missed 1 procs 151765 times
GOMAXPROCS = 8 : missed 2 procs 5057 times
GOMAXPROCS = 8 : missed 3 procs 1726 times
GOMAXPROCS = 8 : missed 4 procs 68 times

GOMAXPROCS = 12 : missed 1 procs 199081 times
GOMAXPROCS = 12 : missed 2 procs 27489 times
GOMAXPROCS = 12 : missed 3 procs 3113 times
GOMAXPROCS = 12 : missed 4 procs 233 times
GOMAXPROCS = 12 : missed 5 procs 9 times

GOMAXPROCS = 16 : missed 1 procs 237477 times
GOMAXPROCS = 16 : missed 2 procs 30037 times
GOMAXPROCS = 16 : missed 3 procs 9466 times
GOMAXPROCS = 16 : missed 4 procs 1334 times
GOMAXPROCS = 16 : missed 5 procs 192 times
GOMAXPROCS = 16 : missed 6 procs 5 times
GOMAXPROCS = 16 : missed 7 procs 1 times
GOMAXPROCS = 16 : missed 8 procs 1 times

A missed proc won't lead to underutilization because we check all procs
again after dropping P. But it can lead to an unpleasant situation
when we miss a proc, drop P, check all procs, discover work, acquire P,
miss the proc again, repeat.

Improve stealing logic to cover all procs.
Also don't enter spinning mode and try to steal when there is nobody around.

Change-Id: Ibb6b122cc7fb836991bad7d0639b77c807aab4c2
Reviewed-on: https://go-review.googlesource.com/20836
Reviewed-by: Rick Hudson <rlh@golang.org>
Run-TryBot: Dmitry Vyukov <dvyukov@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
Reviewed-by: Marvin Stenger <marvin.stenger94@gmail.com>
2016-03-25 11:00:48 +00:00
..
cgo runtime/cgo: block signals to the iOS mach exception handler 2016-03-24 14:12:12 +00:00
debug runtime/debug: clarify WriteHeapDump STW behavior 2016-03-16 17:02:50 +00:00
internal runtime/internal/sys: add s390x support 2016-03-21 08:04:38 +00:00
msan runtime, runtime/msan: add msan runtime support 2015-10-21 17:50:39 +00:00
pprof runtime: don't print EnableGC flag in WriteHeapProfile() 2016-03-05 08:14:23 +00:00
race all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
testdata runtime: limit TestCgoCCodeSIGPROF test to 1 second 2016-03-11 06:43:01 +00:00
trace net: deduplicate TCP socket code 2016-03-03 04:23:59 +00:00
Makefile
alg.go all: single space after period. 2016-03-02 00:13:47 +00:00
append_test.go runtime: speed up growslice by avoiding divisions 2016-03-14 00:45:57 +00:00
asm.s all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
asm_386.s all: single space after period. 2016-03-02 00:13:47 +00:00
asm_amd64.s all: single space after period. 2016-03-02 00:13:47 +00:00
asm_amd64p32.s all: single space after period. 2016-03-02 00:13:47 +00:00
asm_arm.s all: single space after period. 2016-03-02 00:13:47 +00:00
asm_arm64.s all: single space after period. 2016-03-02 00:13:47 +00:00
asm_mips64x.s all: single space after period. 2016-03-02 00:13:47 +00:00
asm_ppc64x.h all: single space after period. 2016-03-02 00:13:47 +00:00
asm_ppc64x.s bytes: Equal perf improvements on ppc64le/ppc64 2016-03-23 14:21:15 +00:00
atomic_arm64.s runtime: break atomics out into package runtime/internal/atomic 2015-11-10 17:38:04 +00:00
atomic_mips64x.s runtime: added assembly part of linux/mips64{,le} support 2015-11-12 04:46:17 +00:00
atomic_pointer.go runtime: break atomics out into package runtime/internal/atomic 2015-11-10 17:38:04 +00:00
atomic_ppc64x.s runtime: break atomics out into package runtime/internal/atomic 2015-11-10 17:38:04 +00:00
callers_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
cgo.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
cgo_mmap.go all: single space after period. 2016-03-02 00:13:47 +00:00
cgo_ppc64x.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
cgocall.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
cgocallback.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
cgocheck.go all: single space after period. 2016-03-02 00:13:47 +00:00
chan.go runtime: define lock order between G status and channel lock 2016-03-16 20:13:17 +00:00
chan_test.go runtime: make shrinkstack concurrent-safe 2016-03-16 20:13:20 +00:00
chanbarrier_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
closure_test.go
compiler.go all: single space after period. 2016-03-02 00:13:47 +00:00
complex.go
complex_test.go
cpuprof.go all: single space after period. 2016-03-02 00:13:47 +00:00
cputicks.go all: single space after period. 2016-03-02 00:13:47 +00:00
crash_cgo_test.go runtime: fix off-by-one error finding module for PC 2016-03-04 21:06:31 +00:00
crash_test.go all: single space after period. 2016-03-02 00:13:47 +00:00
crash_unix_test.go runtime: fix deadlock in TestCrashDumpsAllThreads 2016-02-16 20:18:40 +00:00
debug.go all: single space after period. 2016-03-02 00:13:47 +00:00
defs1_linux.go
defs1_netbsd_386.go
defs1_netbsd_amd64.go
defs1_netbsd_arm.go
defs1_solaris_amd64.go
defs2_linux.go all: single space after period. 2016-03-02 00:13:47 +00:00
defs3_linux.go
defs_arm_linux.go
defs_darwin.go runtime: write sigsetstack for Darwin, fix sigaction arg 2015-12-18 20:56:10 +00:00
defs_darwin_386.go runtime: write sigsetstack for Darwin, fix sigaction arg 2015-12-18 20:56:10 +00:00
defs_darwin_amd64.go runtime: write sigsetstack for Darwin, fix sigaction arg 2015-12-18 20:56:10 +00:00
defs_darwin_arm.go runtime: write sigsetstack for Darwin, fix sigaction arg 2015-12-18 20:56:10 +00:00
defs_darwin_arm64.go runtime: write sigsetstack for Darwin, fix sigaction arg 2015-12-18 20:56:10 +00:00
defs_dragonfly.go all: remove dragonfly/386 port 2015-03-14 10:47:19 +00:00
defs_dragonfly_amd64.go
defs_freebsd.go
defs_freebsd_386.go
defs_freebsd_amd64.go
defs_freebsd_arm.go
defs_linux.go
defs_linux_386.go src/runtime: Add missing defs for android/386. 2015-08-27 15:14:41 +00:00
defs_linux_amd64.go runtime: add syscalls needed for android/amd64 logging. 2015-10-20 16:56:58 +00:00
defs_linux_arm.go runtime: mark pages we return to kernel as NOHUGEPAGE 2015-02-25 21:16:18 +00:00
defs_linux_arm64.go runtime: android/arm64 support 2015-11-17 16:28:18 +00:00
defs_linux_mips64x.go runtime: added go files for linux/mips64{,le} support 2015-11-12 04:47:15 +00:00
defs_linux_ppc64.go runtime: mark pages we return to kernel as NOHUGEPAGE 2015-02-25 21:16:18 +00:00
defs_linux_ppc64le.go runtime: mark pages we return to kernel as NOHUGEPAGE 2015-02-25 21:16:18 +00:00
defs_nacl_386.go
defs_nacl_amd64p32.go
defs_nacl_arm.go
defs_netbsd.go
defs_netbsd_386.go
defs_netbsd_amd64.go
defs_netbsd_arm.go
defs_openbsd.go
defs_openbsd_386.go
defs_openbsd_amd64.go
defs_openbsd_arm.go runtime: add support for openbsd/arm 2015-03-15 04:06:26 +00:00
defs_plan9_386.go runtime: signal handling support for plan9_arm 2016-03-07 16:25:17 +00:00
defs_plan9_amd64.go runtime: signal handling support for plan9_arm 2016-03-07 16:25:17 +00:00
defs_plan9_arm.go runtime: new files for plan9_arm support 2016-03-07 16:25:48 +00:00
defs_solaris.go
defs_solaris_amd64.go
defs_windows.go
defs_windows_386.go runtime: use (*context) ip, setip, sp and setsp everywhere on windows 2015-04-09 00:57:28 +00:00
defs_windows_amd64.go runtime: use (*context) ip, setip, sp and setsp everywhere on windows 2015-04-09 00:57:28 +00:00
duff_386.s runtime: auto-generate duff routines 2015-04-02 02:37:59 +00:00
duff_amd64.s runtime: optimize duffcopy on amd64 2015-09-22 15:02:37 +00:00
duff_arm.s runtime: auto-generate duff routines 2015-04-02 02:37:59 +00:00
duff_arm64.s runtime: auto-generate duff routines 2015-04-02 02:37:59 +00:00
duff_mips64x.s runtime: added assembly part of linux/mips64{,le} support 2015-11-12 04:46:17 +00:00
duff_ppc64x.s cmd/internal/obj, runtime: add NOFRAME flag to suppress stack frame set up on ppc64x 2015-10-18 22:13:30 +00:00
env_plan9.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
env_posix.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
env_test.go runtime: fix TestFixedGOROOT to properly restore the GOROOT env var after test 2015-06-03 23:33:48 +00:00
error.go cmd/compile: embed type string header in rtype 2016-02-24 17:12:15 +00:00
export_arm_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
export_futex_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
export_linux_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
export_mmap_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
export_test.go runtime: use unaligned loads on ppc64 2016-03-18 19:21:53 +00:00
export_windows_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
extern.go all: single space after period. 2016-03-02 00:13:47 +00:00
fastlog2.go pprof: improve sampling for heap profiling 2015-10-05 08:15:09 +00:00
fastlog2_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
fastlog2table.go pprof: improve sampling for heap profiling 2015-10-05 08:15:09 +00:00
funcdata.h runtime: fix a typo in asssembly macro GO_RESULTS_INITIALIZED 2016-03-14 14:53:29 +00:00
futex_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
gc_test.go runtime: move test programs out of source code, coalesce 2015-12-29 21:16:59 +00:00
gcinfo_test.go runtime: added mips64{,le} build tags and GOARCH cases 2015-11-12 04:47:42 +00:00
go_tls.h all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
hash32.go runtime: make aeshash more DOS-proof 2015-10-08 16:43:03 +00:00
hash64.go runtime: added mips64{,le} build tags and GOARCH cases 2015-11-12 04:47:42 +00:00
hash_test.go runtime: add space 2016-03-18 21:31:49 +00:00
hashmap.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
hashmap_fast.go all: single space after period. 2016-03-02 00:13:47 +00:00
heapdump.go runtime: update link to WriteHeapDump format 2016-03-15 22:09:43 +00:00
iface.go cmd/compile, runtime: new static name encoding 2016-03-25 00:13:49 +00:00
iface_test.go cmd/gc: allocate backing storage for non-escaping interfaces on stack 2015-03-30 16:11:22 +00:00
lfstack.go runtime: fix vet warning about println 2015-11-12 05:19:58 +00:00
lfstack_32bit.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
lfstack_amd64.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
lfstack_darwin_arm64.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
lfstack_linux_arm64.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
lfstack_linux_mips64x.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
lfstack_linux_ppc64x.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
lfstack_test.go all: fix misprints in comments 2015-06-11 14:18:57 +00:00
lock_futex.go all: single space after period. 2016-03-02 00:13:47 +00:00
lock_sema.go all: single space after period. 2016-03-02 00:13:47 +00:00
malloc.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
malloc_test.go runtime: accept NumGC==0 in TestMemStats 2015-12-16 18:54:50 +00:00
map_test.go
mapspeed_test.go cmd/gc: don't call memequal twice in generated type.eq routines 2015-02-26 00:34:29 +00:00
mbarrier.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
mbitmap.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
mcache.go all: single space after period. 2016-03-02 00:13:47 +00:00
mcentral.go all: single space after period. 2016-03-02 00:13:47 +00:00
mem_bsd.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
mem_darwin.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
mem_linux.go all: single space after period. 2016-03-02 00:13:47 +00:00
mem_plan9.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
mem_windows.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
memclr_386.s runtime: memmove/memclr pointers atomically 2015-11-07 02:42:12 +00:00
memclr_amd64.s all: fix typos and spelling 2016-02-24 18:42:29 +00:00
memclr_arm.s all: single space after period. 2016-03-02 00:13:47 +00:00
memclr_arm64.s runtime: adjust the arm64 memmove and memclr to operate by word as much as they can 2015-10-08 07:49:35 +00:00
memclr_mips64x.s runtime: added assembly part of linux/mips64{,le} support 2015-11-12 04:46:17 +00:00
memclr_plan9_386.s runtime: memmove/memclr pointers atomically 2015-11-07 02:42:12 +00:00
memclr_plan9_amd64.s
memclr_ppc64x.s cmd/internal/obj, runtime: add NOFRAME flag to suppress stack frame set up on ppc64x 2015-10-18 22:13:30 +00:00
memmove_386.s runtime: use MOVSB instead of MOVSQ for unaligned moves 2016-03-21 19:10:24 +00:00
memmove_amd64.s runtime: use MOVSB instead of MOVSQ for unaligned moves 2016-03-21 19:10:24 +00:00
memmove_arm.s all: single space after period. 2016-03-02 00:13:47 +00:00
memmove_arm64.s runtime: adjust the arm64 memmove and memclr to operate by word as much as they can 2015-10-08 07:49:35 +00:00
memmove_linux_amd64_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
memmove_mips64x.s runtime: added assembly part of linux/mips64{,le} support 2015-11-12 04:46:17 +00:00
memmove_nacl_amd64p32.s all: single space after period. 2016-03-02 00:13:47 +00:00
memmove_plan9_386.s all: single space after period. 2016-03-02 00:13:47 +00:00
memmove_plan9_amd64.s all: single space after period. 2016-03-02 00:13:47 +00:00
memmove_ppc64x.s all: fix typos and spelling 2016-02-24 18:42:29 +00:00
memmove_test.go runtime: use MOVSB instead of MOVSQ for unaligned moves 2016-03-21 19:10:24 +00:00
mfinal.go runtime: fix names in SetFinalizer doc comment 2016-03-10 18:20:44 +00:00
mfinal_test.go runtime: enable TestEmptySlice 2015-07-30 04:47:16 +00:00
mfixalloc.go all: single space after period. 2016-03-02 00:13:47 +00:00
mgc.go runtime: generalize work.finalizersDone to work.markrootDone 2016-03-16 20:13:22 +00:00
mgcmark.go runtime: shrink stacks during concurrent mark 2016-03-16 20:13:25 +00:00
mgcsweep.go runtime: remove unnecessary clears of the heap bitmap 2016-02-25 23:37:19 +00:00
mgcwork.go all: single space after period. 2016-03-02 00:13:47 +00:00
mheap.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
mkduff.go runtime: added assembly part of linux/mips64{,le} support 2015-11-12 04:46:17 +00:00
mkfastlog2table.go pprof: improve sampling for heap profiling 2015-10-05 08:15:09 +00:00
mknacl.sh
mmap.go all: single space after period. 2016-03-02 00:13:47 +00:00
mprof.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
msan.go all: single space after period. 2016-03-02 00:13:47 +00:00
msan0.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
msan_amd64.s all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
msize.go all: single space after period. 2016-03-02 00:13:47 +00:00
mstats.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
mstkbar.go runtime: document stack barrier synchronization rules 2015-12-18 17:08:52 +00:00
netpoll.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
netpoll_epoll.go runtime: on unexpected netpoll error, throw instead of looping 2015-09-15 17:56:56 +00:00
netpoll_kqueue.go all: single space after period. 2016-03-02 00:13:47 +00:00
netpoll_nacl.go
netpoll_solaris.go all: fix typos and spelling 2016-02-24 18:42:29 +00:00
netpoll_stub.go
netpoll_windows.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
noasm.go runtime: added mips64{,le} build tags and GOARCH cases 2015-11-12 04:47:42 +00:00
norace_linux_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
norace_test.go all: use cannot instead of can not 2016-02-21 15:35:50 +00:00
os1_darwin.go all: single space after period. 2016-03-02 00:13:47 +00:00
os1_dragonfly.go all: single space after period. 2016-03-02 00:13:47 +00:00
os1_freebsd.go all: single space after period. 2016-03-02 00:13:47 +00:00
os1_linux.go all: single space after period. 2016-03-02 00:13:47 +00:00
os1_linux_generic.go runtime: restructured os1_linux.go, added mips64 support 2015-11-12 04:48:23 +00:00
os1_linux_mips64x.go runtime: restructured os1_linux.go, added mips64 support 2015-11-12 04:48:23 +00:00
os1_nacl.go runtime: improve last ditch signal forwarding for Unix libraries 2016-03-24 19:34:17 +00:00
os1_netbsd.go all: single space after period. 2016-03-02 00:13:47 +00:00
os1_netbsd_386.go
os1_netbsd_amd64.go
os1_openbsd.go all: single space after period. 2016-03-02 00:13:47 +00:00
os1_plan9.go runtime: Plan 9 - prevent preemption by GC while exiting 2016-03-09 16:48:00 +00:00
os1_windows.go all: use cannot instead of can not 2016-02-21 15:35:50 +00:00
os2_darwin.go
os2_dragonfly.go runtime: readjust signal code for dragonfly-2.6 and above 2016-01-16 00:47:55 +00:00
os2_freebsd.go runtime: if we don't handle a signal on a non-Go thread, raise it 2015-07-22 20:26:29 +00:00
os2_linux_generic.go runtime: renamed os2_linux.go to os2_linux_generic.go, added mips64 support 2015-11-12 04:48:43 +00:00
os2_linux_mips64x.go runtime: renamed os2_linux.go to os2_linux_generic.go, added mips64 support 2015-11-12 04:48:43 +00:00
os2_nacl.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
os2_netbsd.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
os2_openbsd.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
os2_plan9.go
os2_solaris.go runtime: if we don't handle a signal on a non-Go thread, raise it 2015-07-22 20:26:29 +00:00
os2_windows.go runtime: do not calculate asmstdcall address every time we make syscall 2015-04-09 04:26:44 +00:00
os3_plan9.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
os3_solaris.go all: single space after period. 2016-03-02 00:13:47 +00:00
os_android.go runtime: android/arm64 support 2015-11-17 16:28:18 +00:00
os_darwin.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
os_darwin_arm.go runtime: run on GOARM=5 and GOARM=6 uniprocessor freebsd/arm systems 2015-08-07 17:39:07 +00:00
os_darwin_arm64.go runtime: darwin/arm64 support 2015-04-16 13:01:19 +00:00
os_dragonfly.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
os_freebsd.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
os_freebsd_arm.go runtime: run on GOARM=5 and GOARM=6 uniprocessor freebsd/arm systems 2015-08-07 17:39:07 +00:00
os_linux.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
os_linux_386.go runtime, syscall: switch linux/386 to use int 0x80 2016-02-24 02:07:17 +00:00
os_linux_arm.go runtime: break out system-specific constants into package sys 2015-11-12 17:04:45 +00:00
os_linux_arm64.go runtime: mark all runtime.cputicks implementations NOSPLIT 2015-04-15 09:22:15 +00:00
os_linux_mips64x.go runtime: added go files for linux/mips64{,le} support 2015-11-12 04:47:15 +00:00
os_nacl.go all: single space after period. 2016-03-02 00:13:47 +00:00
os_nacl_arm.go runtime: run on GOARM=5 and GOARM=6 uniprocessor freebsd/arm systems 2015-08-07 17:39:07 +00:00
os_netbsd.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
os_netbsd_arm.go runtime: run on GOARM=5 and GOARM=6 uniprocessor freebsd/arm systems 2015-08-07 17:39:07 +00:00
os_openbsd.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
os_openbsd_arm.go runtime: run on GOARM=5 and GOARM=6 uniprocessor freebsd/arm systems 2015-08-07 17:39:07 +00:00
os_plan9.go runtime: signal handling support for plan9_arm 2016-03-07 16:25:17 +00:00
os_plan9_arm.go runtime: new files for plan9_arm support 2016-03-07 16:25:48 +00:00
os_solaris.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
os_windows.go all: single space after period. 2016-03-02 00:13:47 +00:00
panic.go runtime: fix off-by-one error finding module for PC 2016-03-04 21:06:31 +00:00
print.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
proc.go runtime: improve randomized stealing logic 2016-03-25 11:00:48 +00:00
proc_runtime_test.go runtime: improve randomized stealing logic 2016-03-25 11:00:48 +00:00
proc_test.go runtime: improve randomized stealing logic 2016-03-25 11:00:48 +00:00
race.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
race0.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
race_amd64.s all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
rdebug.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
rt0_android_386.s cmd,runtime: TLS setup for android/386 2015-11-11 21:59:24 +00:00
rt0_android_amd64.s runtime, cmd: TLS setup for android/amd64. 2015-10-28 20:54:28 +00:00
rt0_android_arm.s runtime: shared library init support for android/arm. 2015-04-13 21:53:15 +00:00
rt0_android_arm64.s runtime: init argc/argv for android/arm64 c-shared 2015-12-15 13:49:47 +00:00
rt0_darwin_386.s runtime: for c-archive/c-shared, install signal handlers synchronously 2016-01-09 00:58:38 +00:00
rt0_darwin_amd64.s runtime: for c-archive/c-shared, install signal handlers synchronously 2016-01-09 00:58:38 +00:00
rt0_darwin_arm.s runtime: preserve darwin/arm{,64} callee-save registers 2016-03-15 08:43:34 +00:00
rt0_darwin_arm64.s runtime: preserve darwin/arm{,64} callee-save registers 2016-03-15 08:43:34 +00:00
rt0_dragonfly_amd64.s
rt0_freebsd_386.s
rt0_freebsd_amd64.s
rt0_freebsd_arm.s runtime: add support for openbsd/arm 2015-03-15 04:06:26 +00:00
rt0_linux_386.s runtime, syscall: switch linux/386 to use int 0x80 2016-02-24 02:07:17 +00:00
rt0_linux_amd64.s runtime: for c-archive/c-shared, install signal handlers synchronously 2016-01-09 00:58:38 +00:00
rt0_linux_arm.s all: single space after period. 2016-03-02 00:13:47 +00:00
rt0_linux_arm64.s runtime: preserve darwin/arm{,64} callee-save registers 2016-03-15 08:43:34 +00:00
rt0_linux_mips64x.s runtime: added assembly part of linux/mips64{,le} support 2015-11-12 04:46:17 +00:00
rt0_linux_ppc64.s runtime, runtime/cgo: conform to PIC register use rules in ppc64 asm 2015-10-18 23:36:39 +00:00
rt0_linux_ppc64le.s runtime: replace tls0 with m0.tls 2015-11-13 01:53:00 +00:00
rt0_nacl_386.s
rt0_nacl_amd64p32.s
rt0_nacl_arm.s
rt0_netbsd_386.s
rt0_netbsd_amd64.s
rt0_netbsd_arm.s runtime: add support for openbsd/arm 2015-03-15 04:06:26 +00:00
rt0_openbsd_386.s
rt0_openbsd_amd64.s
rt0_openbsd_arm.s runtime: add support for openbsd/arm 2015-03-15 04:06:26 +00:00
rt0_plan9_386.s runtime: replace is{plan9,solaris,windows} with GOOS tests 2015-10-23 18:11:17 +00:00
rt0_plan9_amd64.s runtime: replace is{plan9,solaris,windows} with GOOS tests 2015-10-23 18:11:17 +00:00
rt0_plan9_arm.s runtime: new files for plan9_arm support 2016-03-07 16:25:48 +00:00
rt0_solaris_amd64.s runtime: replace is{plan9,solaris,windows} with GOOS tests 2015-10-23 18:11:17 +00:00
rt0_windows_386.s runtime: replace is{plan9,solaris,windows} with GOOS tests 2015-10-23 18:11:17 +00:00
rt0_windows_amd64.s runtime: replace is{plan9,solaris,windows} with GOOS tests 2015-10-23 18:11:17 +00:00
rune.go runtime,reflect,cmd/internal/gc: Fix comments referring to .c/.h files 2015-03-11 20:19:43 +00:00
runtime-gdb.py runtime: Fix GDB integration with Python 2 2015-04-10 22:17:59 +00:00
runtime-gdb_test.go [dev.ssa] Merge remote-tracking branch 'origin/master' into mergebranch 2016-01-07 10:01:08 -08:00
runtime-lldb_test.go cmd/link: fix padding for dwarf aranges on 32 bit platforms. 2016-02-12 19:13:11 +00:00
runtime.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
runtime1.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
runtime2.go runtime: document sudog 2016-03-17 18:57:10 +00:00
runtime_linux_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
runtime_mmap_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
runtime_test.go all: single space after period. 2016-03-02 00:13:47 +00:00
runtime_unix_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
select.go runtime: never pass stack pointers to gopark 2016-03-16 20:13:10 +00:00
sema.go sync: new Cond implementation 2016-03-15 22:01:20 +00:00
signal1_unix.go runtime: improve last ditch signal forwarding for Unix libraries 2016-03-24 19:34:17 +00:00
signal2_unix.go all: single space after period. 2016-03-02 00:13:47 +00:00
signal_386.go all: single space after period. 2016-03-02 00:13:47 +00:00
signal_amd64x.go all: single space after period. 2016-03-02 00:13:47 +00:00
signal_arm.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
signal_arm64.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
signal_darwin.go runtime: improve last ditch signal forwarding for Unix libraries 2016-03-24 19:34:17 +00:00
signal_darwin_386.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_darwin_amd64.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_darwin_arm.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_darwin_arm64.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_dragonfly.go runtime: set SIGCONT to _SigNotify + _SigDefault 2016-01-05 17:44:46 +00:00
signal_dragonfly_amd64.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
signal_freebsd.go runtime: improve last ditch signal forwarding for Unix libraries 2016-03-24 19:34:17 +00:00
signal_freebsd_386.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
signal_freebsd_amd64.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
signal_freebsd_arm.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_linux_386.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_linux_amd64.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_linux_arm.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_linux_arm64.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_linux_mips64x.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_linux_ppc64x.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_mips64x.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
signal_nacl.go runtime: set SIGCONT to _SigNotify + _SigDefault 2016-01-05 17:44:46 +00:00
signal_nacl_386.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_nacl_amd64p32.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_nacl_arm.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_netbsd.go runtime: set SIGCONT to _SigNotify + _SigDefault 2016-01-05 17:44:46 +00:00
signal_netbsd_386.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
signal_netbsd_amd64.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
signal_netbsd_arm.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_openbsd.go runtime: improve last ditch signal forwarding for Unix libraries 2016-03-24 19:34:17 +00:00
signal_openbsd_386.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_openbsd_amd64.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_openbsd_arm.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_plan9.go runtime: signal handling support for plan9_arm 2016-03-07 16:25:17 +00:00
signal_ppc64x.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
signal_sigtramp.go runtime: improve last ditch signal forwarding for Unix libraries 2016-03-24 19:34:17 +00:00
signal_solaris.go runtime: set SIGCONT to _SigNotify + _SigDefault 2016-01-05 17:44:46 +00:00
signal_solaris_amd64.go runtime: improve last ditch signal forwarding for Unix libraries 2016-03-24 19:34:17 +00:00
signal_unix.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
signal_windows.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
sigpanic_unix.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
sigqueue.go runtime: improve last ditch signal forwarding for Unix libraries 2016-03-24 19:34:17 +00:00
sigqueue_plan9.go all: single space after period. 2016-03-02 00:13:47 +00:00
sigtab_linux_generic.go runtime: set SIGCONT to _SigNotify + _SigDefault 2016-01-05 17:44:46 +00:00
sigtab_linux_mips64x.go runtime: set SIGCONT to _SigNotify + _SigDefault 2016-01-05 17:44:46 +00:00
slice.go runtime: fix inconsistency in slice.go 2016-03-24 18:17:28 +00:00
softfloat64.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
softfloat64_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
softfloat_arm.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
sqrt.go all: single space after period. 2016-03-02 00:13:47 +00:00
sqrt_test.go runtime: copy sqrt normalization bugfix from math 2015-10-23 23:43:47 +00:00
stack.go runtime: shrink stacks during concurrent mark 2016-03-16 20:13:25 +00:00
stack_test.go all: single space after period. 2016-03-02 00:13:47 +00:00
string.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
string_test.go all: single space after period. 2016-03-02 00:13:47 +00:00
stubs.go runtime: unify memeq and memequal 2016-02-23 00:15:38 +00:00
stubs2.go runtime, runtime/cgo: support using msan on cgo code 2015-09-30 22:17:55 +00:00
stubs32.go cmd/compile: define func value symbols at declaration 2015-07-20 00:50:46 +00:00
stubs_android.go runtime: add syscalls needed for android/amd64 logging. 2015-10-20 16:56:58 +00:00
symtab.go runtime: fix off-by-one error finding module for PC 2016-03-04 21:06:31 +00:00
symtab_test.go cmd/compile: initialize line number properly for temporaries 2015-07-07 21:30:59 +00:00
sys_arm.go runtime: replace divide with multiply in runtime.usleep on arm 2015-07-30 15:48:29 +00:00
sys_arm64.go runtime: add support for linux/arm64 2015-03-16 18:45:54 +00:00
sys_darwin_386.s all: single space after period. 2016-03-02 00:13:47 +00:00
sys_darwin_amd64.s runtime: for c-archive/c-shared, don't install unnecessary signal handlers 2015-12-18 22:27:38 +00:00
sys_darwin_arm.s all: use cannot instead of can not 2016-02-21 15:35:50 +00:00
sys_darwin_arm64.s all: use cannot instead of can not 2016-02-21 15:35:50 +00:00
sys_dragonfly_amd64.s all: single space after period. 2016-03-02 00:13:47 +00:00
sys_freebsd_386.s runtime: adjust gsignal stack to current signal stack 2015-12-24 17:00:04 +00:00
sys_freebsd_amd64.s runtime: adjust gsignal stack to current signal stack 2015-12-24 17:00:04 +00:00
sys_freebsd_arm.s runtime: adjust gsignal stack to current signal stack 2015-12-24 17:00:04 +00:00
sys_linux_386.s all: single space after period. 2016-03-02 00:13:47 +00:00
sys_linux_amd64.s all: single space after period. 2016-03-02 00:13:47 +00:00
sys_linux_arm.s all: single space after period. 2016-03-02 00:13:47 +00:00
sys_linux_arm64.s runtime: fix errno sign for some mmap and mincore cases 2016-02-12 00:07:29 +00:00
sys_linux_mips64x.s runtime: fix errno sign for some mmap and mincore cases 2016-02-12 00:07:29 +00:00
sys_linux_ppc64x.s runtime: fix errno sign for some mmap and mincore cases 2016-02-12 00:07:29 +00:00
sys_mips64x.go runtime: added go files for mips64 architecture support 2015-11-12 04:46:50 +00:00
sys_nacl_386.s runtime: fix errno sign for some mmap and mincore cases 2016-02-12 00:07:29 +00:00
sys_nacl_amd64p32.s runtime: rename close to closefd 2015-04-14 12:31:29 +00:00
sys_nacl_arm.s runtime: break atomics out into package runtime/internal/atomic 2015-11-10 17:38:04 +00:00
sys_netbsd_386.s all: single space after period. 2016-03-02 00:13:47 +00:00
sys_netbsd_amd64.s all: single space after period. 2016-03-02 00:13:47 +00:00
sys_netbsd_arm.s runtime: adjust gsignal stack to current signal stack 2015-12-24 17:00:04 +00:00
sys_nonppc64x.go cmd/compile, cmd/link, runtime: on ppc64x, maintain the TOC pointer in R2 when compiling PIC 2015-11-12 23:18:58 +00:00
sys_openbsd_386.s all: single space after period. 2016-03-02 00:13:47 +00:00
sys_openbsd_amd64.s all: single space after period. 2016-03-02 00:13:47 +00:00
sys_openbsd_arm.s runtime: adjust gsignal stack to current signal stack 2015-12-24 17:00:04 +00:00
sys_plan9_386.s runtime: split plan9 and solaris's m fields into new embedded mOS type 2015-10-22 00:04:52 +00:00
sys_plan9_amd64.s runtime: split plan9 and solaris's m fields into new embedded mOS type 2015-10-22 00:04:52 +00:00
sys_plan9_arm.s runtime: new files for plan9_arm support 2016-03-07 16:25:48 +00:00
sys_ppc64x.go cmd/compile, cmd/link, runtime: on ppc64x, maintain the TOC pointer in R2 when compiling PIC 2015-11-12 23:18:58 +00:00
sys_solaris_amd64.s runtime: improve last ditch signal forwarding for Unix libraries 2016-03-24 19:34:17 +00:00
sys_windows_386.s runtime: increase assumed stack size in externalthreadhandler 2016-01-07 19:40:32 +00:00
sys_windows_amd64.s [dev.ssa] runtime: fix windows build 2016-01-15 05:13:50 +00:00
sys_x86.go all: single space after period. 2016-03-02 00:13:47 +00:00
syscall2_solaris.go runtime, syscall: remove unused bits from Solaris implementation 2015-08-21 11:39:24 +00:00
syscall_nacl.h runtime, syscall: use the new get_random_bytes syscall for NaCl 2015-03-25 02:07:09 +00:00
syscall_solaris.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
syscall_windows.go cmd/compile: remove slices from rtype.funcType 2016-03-09 01:25:18 +00:00
syscall_windows_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
textflag.h cmd/compile: track reflect.Type.Method in deadcode 2016-03-11 21:19:20 +00:00
time.go all: single space after period. 2016-03-02 00:13:47 +00:00
tls_arm.s all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
tls_arm64.h runtime: set TLSG_IS_VARIABLE for android/arm64. 2015-12-02 22:00:04 +00:00
tls_arm64.s cmd/internal/obj, cmd/link, runtime: native-ish support for tls on arm64 2015-10-28 19:51:05 +00:00
tls_mips64x.s all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
tls_ppc64x.s all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
trace.go runtime: acquire stack lock in traceEvent 2016-01-27 02:22:09 +00:00
traceback.go runtime: eliminate unnecessary type conversions 2016-03-07 20:53:27 +00:00
type.go cmd/compile, runtime: new static name encoding 2016-03-25 00:13:49 +00:00
typekind.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
unaligned1.go runtime: use unaligned loads on ppc64 2016-03-18 19:21:53 +00:00
unaligned2.go runtime: use unaligned loads on ppc64 2016-03-18 19:21:53 +00:00
vdso_linux_amd64.go all: use cannot instead of can not 2016-02-21 15:35:50 +00:00
vdso_none.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
vlop_386.s all: single space after period. 2016-03-02 00:13:47 +00:00
vlop_arm.s all: single space after period. 2016-03-02 00:13:47 +00:00
vlop_arm_test.go runtime: replace divide with multiply in runtime.usleep on arm 2015-07-30 15:48:29 +00:00
vlrt.go all: single space after period. 2016-03-02 00:13:47 +00:00
wbfat.go runtime: change unused argument in fat write barriers from pointer to scalar 2015-04-28 01:37:45 +00:00
wbfat_gen.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
wincallback.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
write_err.go runtime: change odd 'print1_write' file names 2015-10-20 23:03:06 +00:00
write_err_android.go runtime: change odd 'print1_write' file names 2015-10-20 23:03:06 +00:00
zcallback_windows.go
zcallback_windows.s