go/src
Russ Cox ba134539c5 runtime: faster entersyscall/exitsyscall
Replace cas with xadd in scheduler.
Suggested by Dmitriy in last code review.
Verified with Promela model.

When there's actual contention for the atomic word,
this avoids the looping that compare-and-swap requires.

benchmark                            old ns/op    new ns/op    delta
runtime_test.BenchmarkSyscall               32           26  -17.08%
runtime_test.BenchmarkSyscall-2            155           59  -61.81%
runtime_test.BenchmarkSyscall-3            112           52  -52.95%
runtime_test.BenchmarkSyscall-4             94           48  -48.57%
runtime_test.BenchmarkSyscallWork          871          872   +0.11%
runtime_test.BenchmarkSyscallWork-2        481          477   -0.83%
runtime_test.BenchmarkSyscallWork-3        338          335   -0.89%
runtime_test.BenchmarkSyscallWork-4        263          256   -2.66%

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/4800047
2011-07-23 12:22:55 -04:00
..
cmd ld: fixes .bss for ldpe 2011-07-23 12:21:13 -04:00
lib9 lib9: use $PWD in getwd 2011-07-22 21:21:17 -04:00
libbio
libmach runtime/cgo: check for errors from pthread_create 2011-06-28 12:04:50 -04:00
pkg runtime: faster entersyscall/exitsyscall 2011-07-23 12:22:55 -04:00
Make.ccmd build: explain $PWD use 2011-06-22 17:00:46 -04:00
Make.clib build: explain $PWD use 2011-06-22 17:00:46 -04:00
Make.cmd
Make.common
Make.inc
Make.pkg
all-qemu.bash all-qemu.bash: cannot test go/build 2011-06-20 17:44:36 -04:00
all.bash
clean.bash
env.bash build: use correct list of required programs 2011-06-27 14:30:02 -04:00
make.bash
quietgcc.bash
run.bash exp/eval, exp/ogle: remove packages eval and ogle 2011-07-13 09:40:53 -07:00
sudo.bash
version.bash build: make version.bash aware of branches 2011-06-30 15:39:00 +10:00