From: Michael Pratt Date: Mon, 4 Dec 2023 20:43:41 +0000 (-0500) Subject: doc: document runtimecontentionstacks X-Git-Tag: go1.22rc1~79 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=3b8b550a35965245657ea204865baa6ee727297d;p=gostls13.git doc: document runtimecontentionstacks For #57071. Change-Id: Ic1645af57aa589917c67154a5e4ad0b4edd7ba90 Reviewed-on: https://go-review.googlesource.com/c/go/+/547058 Reviewed-by: Michael Knyszek Reviewed-by: Rhys Hiltner LUCI-TryBot-Result: Go LUCI Auto-Submit: Michael Pratt --- diff --git a/doc/godebug.md b/doc/godebug.md index f7baea30b2..9710940118 100644 --- a/doc/godebug.md +++ b/doc/godebug.md @@ -178,6 +178,13 @@ should adjust their Linux configuration according to the recommendations in the [GC guide](/doc/gc-guide#Linux_transparent_huge_pages), or switch to a Linux distribution that disables transparent huge pages altogether. +Go 1.22 added contention on runtime-internal locks to the [`mutex` +profile](/pkg/runtime/pprof#Profile). Contention on these locks is always +reported at `runtime._LostContendedRuntimeLock`. Complete stack traces of +runtime locks can be enabled with the [`runtimecontentionstacks` +setting](/pkg/runtime#hdr-Environment_Variable). These stack traces have +non-standard semantics, see setting documentation for details. + ### Go 1.21 Go 1.21 made it a run-time error to call `panic` with a nil interface value,