diff options
| author | Michael Pratt <mpratt@google.com> | 2023-03-15 13:58:44 -0400 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2023-03-15 18:32:37 +0000 |
| commit | 07a25a9f6e46e83a6335d43b0174dfb250bca960 (patch) | |
| tree | faa80473de6804d089faffa5888ace56ac61f59a /src/runtime/trace.go | |
| parent | 2a30b34e293b6308dd1304dfedc96e0a7858476f (diff) | |
| download | go-07a25a9f6e46e83a6335d43b0174dfb250bca960.tar.xz | |
runtime: pass M to traceReleaseBuffer
This change is a no-op, but makes the acquire-release pair
traceAcquireBuffer / traceReleaseBuffer more explicit, since the former
does acquirem and the latter releasm.
Change-Id: If8a5b1ba8709bf6f39c8ff27b2d3e0c0b0da0e58
Reviewed-on: https://go-review.googlesource.com/c/go/+/476575
Auto-Submit: Michael Pratt <mpratt@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Run-TryBot: Michael Pratt <mpratt@google.com>
Diffstat (limited to 'src/runtime/trace.go')
| -rw-r--r-- | src/runtime/trace.go | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/runtime/trace.go b/src/runtime/trace.go index b5ba2f503d..174875264c 100644 --- a/src/runtime/trace.go +++ b/src/runtime/trace.go @@ -312,7 +312,7 @@ func StartTrace() error { for i, label := range gcMarkWorkerModeStrings[:] { trace.markWorkerLabels[i], bufp = traceString(bufp, pid, label) } - traceReleaseBuffer(pid) + traceReleaseBuffer(mp, pid) unlock(&trace.bufLock) @@ -676,7 +676,7 @@ func traceEvent(ev byte, skip int, args ...uint64) { // // Note trace_userTaskCreate runs the same check. if !trace.enabled && !mp.startingtrace { - traceReleaseBuffer(pid) + traceReleaseBuffer(mp, pid) return } @@ -686,7 +686,7 @@ func traceEvent(ev byte, skip int, args ...uint64) { } } traceEventLocked(0, mp, pid, bufp, ev, 0, skip, args...) - traceReleaseBuffer(pid) + traceReleaseBuffer(mp, pid) } // traceEventLocked writes a single event of type ev to the trace buffer bufp, @@ -907,11 +907,11 @@ func traceAcquireBuffer() (mp *m, pid int32, bufp *traceBufPtr) { } // traceReleaseBuffer releases a buffer previously acquired with traceAcquireBuffer. -func traceReleaseBuffer(pid int32) { +func traceReleaseBuffer(mp *m, pid int32) { if pid == traceGlobProc { unlock(&trace.bufLock) } - releasem(getg().m) + releasem(mp) } // lockRankMayTraceFlush records the lock ranking effects of a @@ -1499,13 +1499,13 @@ func trace_userTaskCreate(id, parentID uint64, taskType string) { // Same as in traceEvent. mp, pid, bufp := traceAcquireBuffer() if !trace.enabled && !mp.startingtrace { - traceReleaseBuffer(pid) + traceReleaseBuffer(mp, pid) return } typeStringID, bufp := traceString(bufp, pid, taskType) traceEventLocked(0, mp, pid, bufp, traceEvUserTaskCreate, 0, 3, id, parentID, typeStringID) - traceReleaseBuffer(pid) + traceReleaseBuffer(mp, pid) } //go:linkname trace_userTaskEnd runtime/trace.userTaskEnd @@ -1521,13 +1521,13 @@ func trace_userRegion(id, mode uint64, name string) { mp, pid, bufp := traceAcquireBuffer() if !trace.enabled && !mp.startingtrace { - traceReleaseBuffer(pid) + traceReleaseBuffer(mp, pid) return } nameStringID, bufp := traceString(bufp, pid, name) traceEventLocked(0, mp, pid, bufp, traceEvUserRegion, 0, 3, id, mode, nameStringID) - traceReleaseBuffer(pid) + traceReleaseBuffer(mp, pid) } //go:linkname trace_userLog runtime/trace.userLog @@ -1538,7 +1538,7 @@ func trace_userLog(id uint64, category, message string) { mp, pid, bufp := traceAcquireBuffer() if !trace.enabled && !mp.startingtrace { - traceReleaseBuffer(pid) + traceReleaseBuffer(mp, pid) return } @@ -1561,7 +1561,7 @@ func trace_userLog(id uint64, category, message string) { buf.varint(uint64(slen)) buf.pos += copy(buf.arr[buf.pos:], message[:slen]) - traceReleaseBuffer(pid) + traceReleaseBuffer(mp, pid) } // the start PC of a goroutine for tracing purposes. If pc is a wrapper, |
