diff options
author | Michael Anthony Knyszek <mknyszek@google.com> | 2020-09-16 17:08:55 +0000 |
---|---|---|
committer | Michael Knyszek <mknyszek@google.com> | 2020-09-16 17:36:58 +0000 |
commit | 10dfb1dd3d1d26122cf18f29468ec17eb7222c3f (patch) | |
tree | 4807314ba1e6321c2e97574fb62e4a106c99fb75 /src/runtime/export_test.go | |
parent | 37f261010f837f945eaa2d33d90cd822b4e93459 (diff) | |
download | go-10dfb1dd3d1d26122cf18f29468ec17eb7222c3f.tar.gz go-10dfb1dd3d1d26122cf18f29468ec17eb7222c3f.zip |
runtime: actually fix locking in BenchmarkMSpanCountAlloc
I just submitted CL 255297 which mostly fixed this problem, but totally
forgot to actually acquire/release the heap lock. Oops.
Updates #41391.
Change-Id: I45b42f20a9fc765c4de52476db3654d4bfe9feb3
Reviewed-on: https://go-review.googlesource.com/c/go/+/255298
Trust: Michael Knyszek <mknyszek@google.com>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Diffstat (limited to 'src/runtime/export_test.go')
-rw-r--r-- | src/runtime/export_test.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/runtime/export_test.go b/src/runtime/export_test.go index e3d6441c18..f2fa11dc98 100644 --- a/src/runtime/export_test.go +++ b/src/runtime/export_test.go @@ -991,7 +991,9 @@ type MSpan mspan func AllocMSpan() *MSpan { var s *mspan systemstack(func() { + lock(&mheap_.lock) s = (*mspan)(mheap_.spanalloc.alloc()) + unlock(&mheap_.lock) }) return (*MSpan)(s) } @@ -999,7 +1001,9 @@ func AllocMSpan() *MSpan { // Free an allocated mspan. func FreeMSpan(s *MSpan) { systemstack(func() { + lock(&mheap_.lock) mheap_.spanalloc.free(unsafe.Pointer(s)) + unlock(&mheap_.lock) }) } |