]> Cypherpunks.ru repositories - gostls13.git/commit
[release-branch.go1.21] runtime: call enableMetadataHugePages and its callees on...
authorMichael Anthony Knyszek <mknyszek@google.com>
Fri, 10 Nov 2023 21:23:38 +0000 (21:23 +0000)
committerGopher Robot <gobot@golang.org>
Tue, 28 Nov 2023 18:46:34 +0000 (18:46 +0000)
commit3684d19c20d73baba3ea2ae7e86d002465a24508
tree95bc1fbc1abd1a93221ba82c9e2615ad25d9b944
parent9e43850a3298a9b8b1162ba0033d4c53f8637571
[release-branch.go1.21] runtime: call enableMetadataHugePages and its callees on the systemstack

These functions acquire the heap lock. If they're not called on the
systemstack, a stack growth could cause a self-deadlock since stack
growth may allocate memory from the page heap.

This has been a problem for a while. If this is what's plaguing the
ppc64 port right now, it's very surprising (and probably just
coincidental) that it's showing up now.

For #64050.
For #64062.
For #64067.
Fixes #64073.

Change-Id: I2b95dc134d17be63b9fe8f7a3370fe5b5438682f
Reviewed-on: https://go-review.googlesource.com/c/go/+/541635
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Pratt <mpratt@google.com>
Reviewed-by: Paul Murphy <murp@ibm.com>
(cherry picked from commit 5f08b4479930af266d4a84c1533b320ed75edba7)
Reviewed-on: https://go-review.googlesource.com/c/go/+/541955
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@google.com>
src/runtime/malloc.go
src/runtime/mgc.go
src/runtime/mpagealloc.go