- 12 Feb, 2014 20 commits
-
-
Brad Fitzpatrick authored
So it doesn't bitrot. Like the sha1 version (https://golang.org/cl/62270043) LGTM=agl R=agl CC=golang-codereviews https://golang.org/cl/62420043
-
Russ Cox authored
State of the world: CL 46430043 introduced a new concurrent sweep but is broken. CL 62360043 made the new sweep non-concurrent to try to fix the world while we understand what's wrong with the concurrent version. This CL fixes the non-concurrent form to run finalizers. This CL is just a band-aid to get the build green again. Dmitriy is working on understanding and then fixing what's wrong with the concurrent sweep. TBR=dvyukov CC=golang-codereviews https://golang.org/cl/62370043
-
Adam Langley authored
Generated by addca. R=gobot CC=golang-codereviews https://golang.org/cl/57680047
-
Dmitriy Vyukov authored
We see failures on builders, e.g.: http://build.golang.org/log/70bb28cd6bcf8c4f49810a011bb4337a61977bf4 LGTM=rsc, dave R=rsc, dave CC=golang-codereviews https://golang.org/cl/62360043
-
Anthony Martin authored
We now use the %A, %D, %P, and %R routines from liblink across the board. Fixes #7178. Fixes #7055. LGTM=iant R=golang-codereviews, gobot, rsc, dave, iant, remyoudompheng CC=golang-codereviews https://golang.org/cl/49170043
-
Brad Fitzpatrick authored
So it doesn't bitrot. LGTM=agl R=golang-codereviews, agl CC=golang-codereviews https://golang.org/cl/62270043
-
Dmitriy Vyukov authored
Better sampling of objects that are close in size to sampling rate. See the comment for details. LGTM=rsc R=golang-codereviews, rsc CC=golang-codereviews https://golang.org/cl/43830043
-
Dmitriy Vyukov authored
Current "System->etext" is not very informative. Add parent "GC" frame. Replace un-unwindable syscall/cgo frames with Go stack that leads to the call. LGTM=rsc R=rsc, alex.brainman, ality CC=golang-codereviews https://golang.org/cl/61270043
-
Nick Craig-Wood authored
(up to 2.8x). This is a partially unrolled version which performs better for small hashes and only sacrifices a small amount of ultimate speed to a fully unrolled version which uses 5k of code. Code size Before 1636 bytes After 1880 bytes 15% larger Benchmarks on Samsung Exynos 5 ARMv7 Chromebook benchmark old ns/op new ns/op delta BenchmarkHash8Bytes 1907 1136 -40.43% BenchmarkHash1K 20280 7547 -62.79% BenchmarkHash8K 148469 52576 -64.59% benchmark old MB/s new MB/s speedup BenchmarkHash8Bytes 4.19 7.04 1.68x BenchmarkHash1K 50.49 135.68 2.69x BenchmarkHash8K 55.18 155.81 2.82x LGTM=dave, agl R=dave, bradfitz, agl, adg, nick CC=golang-codereviews https://golang.org/cl/56990044
-
Dmitriy Vyukov authored
Remove GOOS_solaris ifdef from netpoll code, instead introduce runtime edge/level triggered IO flag. Replace armread/armwrite with a single arm(mode) function, that's how all other interfaces look like and these functions will need to do roughly the same thing anyway. LGTM=rsc R=golang-codereviews, dave, rsc CC=golang-codereviews https://golang.org/cl/55500044
-
Dmitriy Vyukov authored
1. Make internal chan functions static. 2. Move selgen local variable instead of a member of G struct. 3. Change "bool *pres/selected" parameter of chansend/chanrecv to "bool block", which is simpler, faster and less code. -37 lines total. LGTM=rsc R=golang-codereviews, dave, gobot, rsc CC=bradfitz, golang-codereviews, iant, khr https://golang.org/cl/58610043
-
Dmitriy Vyukov authored
Moves sweep phase out of stoptheworld by adding background sweeper goroutine and lazy on-demand sweeping. It turned out to be somewhat trickier than I expected, because there is no point in time when we know size of live heap nor consistent number of mallocs and frees. So everything related to next_gc, mprof, memstats, etc becomes trickier. At the end of GC next_gc is conservatively set to heap_alloc*GOGC, which is much larger than real value. But after every sweep next_gc is decremented by freed*GOGC. So when everything is swept next_gc becomes what it should be. For mprof I had to introduce 3-generation scheme (allocs, revent_allocs, prev_allocs), because by the end of GC we know number of frees for the *previous* GC. Significant caution is required to not cross yet-unknown real value of next_gc. This is achieved by 2 means: 1. Whenever I allocate a span from MCentral, I sweep a span in that MCentral. 2. Whenever I allocate N pages from MHeap, I sweep until at least N pages are returned to heap. This provides quite strong guarantees that heap does not grow when it should now. http-1 allocated 7036 7033 -0.04% allocs 60 60 +0.00% cputime 51050 46700 -8.52% gc-pause-one 34060569 1777993 -94.78% gc-pause-total 2554 133 -94.79% latency-50 178448 170926 -4.22% latency-95 284350 198294 -30.26% latency-99 345191 220652 -36.08% rss 101564416 101007360 -0.55% sys-gc 6606832 6541296 -0.99% sys-heap 88801280 87752704 -1.18% sys-other 7334208 7405928 +0.98% sys-stack 524288 524288 +0.00% sys-total 103266608 102224216 -1.01% time 50339 46533 -7.56% virtual-mem 292990976 293728256 +0.25% garbage-1 allocated 2983818 2990889 +0.24% allocs 62880 62902 +0.03% cputime 16480000 16190000 -1.76% gc-pause-one 828462467 487875135 -41.11% gc-pause-total 4142312 2439375 -41.11% rss 1151709184 1153712128 +0.17% sys-gc 66068352 66068352 +0.00% sys-heap 1039728640 1039728640 +0.00% sys-other 37776064 40770176 +7.93% sys-stack 8781824 8781824 +0.00% sys-total 1152354880 1155348992 +0.26% time 16496998 16199876 -1.80% virtual-mem 1409564672 1402281984 -0.52% LGTM=rsc R=golang-codereviews, sameer, rsc, iant, jeremyjackins, gobot CC=golang-codereviews, khr https://golang.org/cl/46430043
-
Dmitriy Vyukov authored
$ go test -cpu=1,1,1,1,1,1,1,1,1 encoding/json --- FAIL: TestIndentBig (0.00 seconds) scanner_test.go:131: Indent(jsonBig) did not get bigger On 4-th run initBig generates an empty array. LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/49930051
-
Adam Langley authored
ConstantTimeCompare has always been documented to take equal length slices but perhaps this is too subtle, even for 'subtle'. Fixes #7304. LGTM=hanwen, bradfitz R=golang-codereviews, hanwen, bradfitz CC=golang-codereviews https://golang.org/cl/62190043
-
Adam Langley authored
LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/60580046
-
Rick Arnold authored
Allow clients to check for timeouts without relying on error substring matching. Fixes #6185. LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/55470048
-
Robert Dinu authored
Fixes #7104. LGTM=iant R=golang-dev, iant CC=golang-codereviews https://golang.org/cl/61480049
-
David Symonds authored
Generated by addca. R=gobot CC=golang-codereviews https://golang.org/cl/53410046
-
Robert Griesemer authored
Fixes #7102. LGTM=adonovan R=adonovan CC=golang-codereviews https://golang.org/cl/56770045
-
Shenghou Ma authored
LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/54830045
-
- 11 Feb, 2014 12 commits
-
-
Shenghou Ma authored
Second part of the solaris/amd64 linker changes: relocation and symbol table. LGTM=iant R=golang-codereviews, iant CC=golang-codereviews https://golang.org/cl/61330043
-
Robert Griesemer authored
Fixes #7305. LGTM=adonovan R=bradfitz, adonovan CC=golang-codereviews https://golang.org/cl/58950045
-
Daniel Morsing authored
The UNDEF instruction was listed in the instruction data as having the next instruction in the stream as its successor. This confused the optimizer into adding a load where it wasn't needed, in turn confusing the liveness analysis pass for GC bitmaps into thinking that the variable was live. Fixes #7229. LGTM=iant, rsc R=golang-codereviews, bradfitz, iant, dave, rsc CC=golang-codereviews https://golang.org/cl/56910045
-
Brad Fitzpatrick authored
Prevents a ton of garbage. (Noticed this when writing large Camlistore zip archives to Amazon Glacier) Note that the Closer part of the io.WriteCloser is never given to users. It's an internal detail of the package. benchmark old ns/op new ns/op delta BenchmarkCompressedZipGarbage 42884123 40732373 -5.02% benchmark old allocs new allocs delta BenchmarkCompressedZipGarbage 204 149 -26.96% benchmark old bytes new bytes delta BenchmarkCompressedZipGarbage 4397576 66744 -98.48% LGTM=adg, rsc R=adg, rsc CC=golang-codereviews https://golang.org/cl/54300053
-
Dmitriy Vyukov authored
There is frequently a thread hanging on GQCS, currently it skews profiles towards netpoll, but it is not bad and is not consuming any resources. R=alex.brainman CC=golang-codereviews https://golang.org/cl/61560043
-
David du Colombier authored
LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/61410046
-
Andrew Gerrand authored
Generated by addca. R=gobot CC=golang-codereviews https://golang.org/cl/61410050
-
Andrew Gerrand authored
LGTM=dsymonds R=dsymonds CC=golang-codereviews https://golang.org/cl/61070047
-
Andrew Gerrand authored
Fixes #7292. LGTM=dsymonds R=dsymonds CC=golang-codereviews https://golang.org/cl/61650046
-
Andrew Gerrand authored
It was deleted from Vimeo. I will attempt to get a new version online. Fixes #7297. LGTM=r R=r CC=golang-codereviews https://golang.org/cl/61740043
-
Brendan Daniel Tracey authored
At present, when a package identifier is used outside of a selector expression, gc gives the error "use of package %S outside selector". However, in the selector expression x.f, the spec defines f as the selector. This change makes the error clearer. Fixes #7133. LGTM=rsc R=golang-codereviews, rsc CC=golang-codereviews https://golang.org/cl/50060047
-
Russ Cox authored
Generated by addca. R=gobot CC=golang-codereviews https://golang.org/cl/55870046
-
- 10 Feb, 2014 8 commits
-
-
Andrew Gerrand authored
This got deleted mistakenly during the content re-org. Fixes #7275. LGTM=dvyukov R=golang-codereviews, minux.ma, dvyukov CC=golang-codereviews https://golang.org/cl/60850043
-
Robert Griesemer authored
(per suggestion by Doug McIlroy) LGTM=r R=r CC=golang-codereviews https://golang.org/cl/50580046
-
David du Colombier authored
Fixes #7286. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/61410044
-
Russ Cox authored
LGTM=gri R=golang-codereviews, gri CC=golang-codereviews https://golang.org/cl/61610043
-
Dmitriy Vyukov authored
R=r CC=golang-codereviews https://golang.org/cl/61650044
-
Dmitriy Vyukov authored
mp->mcache can be concurrently modified by runtime·helpgc. In such case sigprof can remember mcache=nil, then helpgc sets it to non-nil, then sigprof restores it back to nil, GC crashes with nil mcache. R=rsc CC=golang-codereviews https://golang.org/cl/58860044
-
Dmitriy Vyukov authored
R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/60760048
-
Dmitriy Vyukov authored
Currently this leads to a significant skew towards 'etext' entry, since all idle threads are profiled every tick. Before: Total: 66608 samples 63188 94.9% 94.9% 63188 94.9% etext 278 0.4% 95.3% 278 0.4% sweepspan 216 0.3% 95.6% 448 0.7% runtime.mallocgc 122 0.2% 95.8% 122 0.2% scanblock 113 0.2% 96.0% 113 0.2% net/textproto.canonicalMIMEHeaderKey After: Total: 8008 samples 3949 49.3% 49.3% 3949 49.3% etext 231 2.9% 52.2% 231 2.9% scanblock 211 2.6% 54.8% 211 2.6% runtime.cas64 182 2.3% 57.1% 408 5.1% runtime.mallocgc 178 2.2% 59.3% 178 2.2% runtime.atomicload64 LGTM=alex.brainman R=golang-codereviews, alex.brainman CC=golang-codereviews https://golang.org/cl/61250043
-