aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/sema.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2014-12-12 18:41:57 +0100
committerDmitry Vyukov <dvyukov@google.com>2015-01-28 16:35:24 +0000
commit5288fadbdc1b81993c51d5044035144fccebd75e (patch)
treefedd0e3654cabcbb0a1a82efd21690da3c210419 /src/runtime/sema.go
parentf30a2b9ca7ccfd325a5ebcc8eb57e39d8e9c7af3 (diff)
downloadgo-5288fadbdc1b81993c51d5044035144fccebd75e.tar.gz
go-5288fadbdc1b81993c51d5044035144fccebd75e.zip
runtime: add tracing of runtime events
Add actual tracing of interesting runtime events. Part of a larger tracing functionality: https://docs.google.com/document/u/1/d/1FP5apqzBgr7ahCCgFO-yoVhk4YZrNIDNf9RybngBc14/pub Full change: https://codereview.appspot.com/146920043 Change-Id: Icccf54aea54e09350bb698ba6bf11532f9fbe6d3 Reviewed-on: https://go-review.googlesource.com/1451 Reviewed-by: Russ Cox <rsc@golang.org>
Diffstat (limited to 'src/runtime/sema.go')
-rw-r--r--src/runtime/sema.go6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/runtime/sema.go b/src/runtime/sema.go
index 35a1264762..34852ea835 100644
--- a/src/runtime/sema.go
+++ b/src/runtime/sema.go
@@ -97,7 +97,7 @@ func semacquire(addr *uint32, profile bool) {
// Any semrelease after the cansemacquire knows we're waiting
// (we set nwait above), so go to sleep.
root.queue(addr, s)
- goparkunlock(&root.lock, "semacquire")
+ goparkunlock(&root.lock, "semacquire", traceEvGoBlockSync)
if cansemacquire(addr) {
break
}
@@ -234,7 +234,7 @@ func syncsemacquire(s *syncSema) {
s.tail.next = w
}
s.tail = w
- goparkunlock(&s.lock, "semacquire")
+ goparkunlock(&s.lock, "semacquire", traceEvGoBlockCond)
if t0 != 0 {
blockevent(int64(w.releasetime)-t0, 2)
}
@@ -273,7 +273,7 @@ func syncsemrelease(s *syncSema, n uint32) {
s.tail.next = w
}
s.tail = w
- goparkunlock(&s.lock, "semarelease")
+ goparkunlock(&s.lock, "semarelease", traceEvGoBlockCond)
releaseSudog(w)
} else {
unlock(&s.lock)