From: Dan Scales Date: Tue, 28 Apr 2020 23:28:46 +0000 (-0700) Subject: runtime: add one extra lock ranking partial edge X-Git-Tag: go1.15beta1~257 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=a81bc8e8254d01cd442a5684801d8d2dbc553694;p=gostls13.git runtime: add one extra lock ranking partial edge This adds an assistQueue -> mheapSpecial edge, which can happen via gcFlushBgCredit [gets assistQueue lock] -> ready() -> ... -> allocm() -> newobject -> .. mProf_Malloc() -> setprofilebucket() [gets mheap special lock] From https://build.golang.org/log/6f8f253f6c3a747de411cfdf78c27980146618be Change-Id: Icdfba41b49aa704e8f6f20d25271f938afaf52ac Reviewed-on: https://go-review.googlesource.com/c/go/+/231463 Run-TryBot: Dan Scales TryBot-Result: Gobot Gobot Reviewed-by: Michael Knyszek --- diff --git a/src/runtime/lockrank.go b/src/runtime/lockrank.go index 05fff95797..5174adc8bf 100644 --- a/src/runtime/lockrank.go +++ b/src/runtime/lockrank.go @@ -223,7 +223,7 @@ var lockPartialOrder [][]lockRank = [][]lockRank{ lockRankSudog: {lockRankNotifyList, lockRankHchan}, lockRankWbufSpans: {lockRankScavenge, lockRankSweepWaiters, lockRankAssistQueue, lockRankSweep, lockRankSched, lockRankAllg, lockRankPollDesc, lockRankTimers, lockRankItab, lockRankReflectOffs, lockRankHchan, lockRankNotifyList, lockRankTraceStrings, lockRankMspanSpecial, lockRankProf, lockRankRoot, lockRankDefer, lockRankSudog}, lockRankMheap: {lockRankScavenge, lockRankSweepWaiters, lockRankAssistQueue, lockRankCpuprof, lockRankSweep, lockRankSched, lockRankAllg, lockRankAllp, lockRankPollDesc, lockRankTimers, lockRankItab, lockRankReflectOffs, lockRankNotifyList, lockRankTraceBuf, lockRankTraceStrings, lockRankHchan, lockRankMspanSpecial, lockRankProf, lockRankGcBitsArenas, lockRankRoot, lockRankMcentral, lockRankStackpool, lockRankStackLarge, lockRankDefer, lockRankSudog, lockRankWbufSpans, lockRankSpanSetSpine}, - lockRankMheapSpecial: {lockRankScavenge, lockRankCpuprof, lockRankSweep, lockRankSched, lockRankAllg, lockRankAllp, lockRankTimers, lockRankItab, lockRankReflectOffs, lockRankNotifyList, lockRankTraceBuf, lockRankTraceStrings, lockRankHchan}, + lockRankMheapSpecial: {lockRankScavenge, lockRankAssistQueue, lockRankCpuprof, lockRankSweep, lockRankSched, lockRankAllg, lockRankAllp, lockRankTimers, lockRankItab, lockRankReflectOffs, lockRankNotifyList, lockRankTraceBuf, lockRankTraceStrings, lockRankHchan}, lockRankGlobalAlloc: {lockRankProf, lockRankSpine, lockRankSpanSetSpine, lockRankMheap, lockRankMheapSpecial}, lockRankGFree: {lockRankSched},