Skip to content

Commit

Permalink
runtime/trace: also treat plan9 as a low memory system
Browse files Browse the repository at this point in the history
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 <[email protected]>
Reviewed-by: David du Colombier <[email protected]>
TryBot-Result: Gobot Gobot <[email protected]>
  • Loading branch information
bradfitz committed Apr 18, 2019
1 parent 02bd0fd commit c8aaec2
Showing 1 changed file with 18 additions and 3 deletions.
21 changes: 18 additions & 3 deletions src/runtime/trace/trace_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ func TestTraceStress(t *testing.T) {
runtime.GC()
// Trigger GC from malloc.
n := int(1e3)
if runtime.GOOS == "openbsd" && runtime.GOARCH == "arm" {
if isMemoryConstrained() {
// Reduce allocation to avoid running out of
// memory on the builder - see issue/12032.
n = 512
Expand Down Expand Up @@ -322,6 +322,21 @@ func TestTraceStress(t *testing.T) {
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.
// And concurrently with all that start/stop trace 3 times.
func TestTraceStressStartStop(t *testing.T) {
Expand Down Expand Up @@ -381,9 +396,9 @@ func TestTraceStressStartStop(t *testing.T) {
runtime.GC()
// Trigger GC from malloc.
n := int(1e3)
if runtime.GOOS == "openbsd" && runtime.GOARCH == "arm" {
if isMemoryConstrained() {
// Reduce allocation to avoid running out of
// memory on the builder - see issue/12032.
// memory on the builder.
n = 512
}
for i := 0; i < n; i++ {
Expand Down

0 comments on commit c8aaec2

Please sign in to comment.