Commit c8aaec2f authored by Brad Fitzpatrick's avatar Brad Fitzpatrick

runtime/trace: also treat plan9 as a low memory system

Fixes #31554
Updates #12032 (also originally about plan9, but later openbsd/arm)

Change-Id: Ib9f35d27a2304f38bf271c38c0b9153d210d8f95
Reviewed-on: https://go-review.googlesource.com/c/go/+/172837
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: default avatarDavid du Colombier <0intro@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
parent 02bd0fd3
...@@ -237,7 +237,7 @@ func TestTraceStress(t *testing.T) { ...@@ -237,7 +237,7 @@ func TestTraceStress(t *testing.T) {
runtime.GC() runtime.GC()
// Trigger GC from malloc. // Trigger GC from malloc.
n := int(1e3) n := int(1e3)
if runtime.GOOS == "openbsd" && runtime.GOARCH == "arm" { if isMemoryConstrained() {
// Reduce allocation to avoid running out of // Reduce allocation to avoid running out of
// memory on the builder - see issue/12032. // memory on the builder - see issue/12032.
n = 512 n = 512
...@@ -322,6 +322,21 @@ func TestTraceStress(t *testing.T) { ...@@ -322,6 +322,21 @@ func TestTraceStress(t *testing.T) {
testBrokenTimestamps(t, trace) testBrokenTimestamps(t, trace)
} }
// isMemoryConstrained reports whether the current machine is likely
// to be memory constrained.
// This was originally for the openbsd/arm builder (Issue 12032).
// TODO: move this to testenv? Make this look at memory? Look at GO_BUILDER_NAME?
func isMemoryConstrained() bool {
if runtime.GOOS == "plan9" {
return true
}
switch runtime.GOARCH {
case "arm", "mips", "mipsle":
return true
}
return false
}
// Do a bunch of various stuff (timers, GC, network, etc) in a separate goroutine. // Do a bunch of various stuff (timers, GC, network, etc) in a separate goroutine.
// And concurrently with all that start/stop trace 3 times. // And concurrently with all that start/stop trace 3 times.
func TestTraceStressStartStop(t *testing.T) { func TestTraceStressStartStop(t *testing.T) {
...@@ -381,9 +396,9 @@ func TestTraceStressStartStop(t *testing.T) { ...@@ -381,9 +396,9 @@ func TestTraceStressStartStop(t *testing.T) {
runtime.GC() runtime.GC()
// Trigger GC from malloc. // Trigger GC from malloc.
n := int(1e3) n := int(1e3)
if runtime.GOOS == "openbsd" && runtime.GOARCH == "arm" { if isMemoryConstrained() {
// Reduce allocation to avoid running out of // Reduce allocation to avoid running out of
// memory on the builder - see issue/12032. // memory on the builder.
n = 512 n = 512
} }
for i := 0; i < n; i++ { for i := 0; i < n; i++ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment