]> Cypherpunks repositories - gostls13.git/commit
runtime: push down systemstack requirement for tracer where possible
authorMichael Anthony Knyszek <mknyszek@google.com>
Fri, 15 Mar 2024 22:15:37 +0000 (22:15 +0000)
committerGopher Robot <gobot@golang.org>
Fri, 5 Apr 2024 20:51:06 +0000 (20:51 +0000)
commit5ec7395afc5756e9334f969fcc8b538c83857634
treea57a48b19b4e1c8fb330ec5186b3f43ab5b9959b
parentd6a3d093c3f630e206abfc974a4a8b6c07884485
runtime: push down systemstack requirement for tracer where possible

Currently lots of functions require systemstack because the trace buffer
might get flushed, but that will already switch to the systemstack for
the most critical bits (grabbing trace.lock). That means a lot of this
code is non-preemptible when it doesn't need to be. We've seen this
cause problems at scale, when dumping very large numbers of stacks at
once, for example.

Change-Id: I88340091a3c43f0513b5601ef5199c946aa56ed7
Reviewed-on: https://go-review.googlesource.com/c/go/+/572095
Auto-Submit: Michael Knyszek <mknyszek@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: David Chase <drchase@google.com>
src/runtime/trace2.go
src/runtime/trace2cpu.go
src/runtime/trace2stack.go
src/runtime/trace2string.go