sweet: limit build parallelism for cockroachdb This is an attempt to get the PGO performance builders working. Change-Id: Id4d2e5f59da323554a98aca45528efbcee9618a2 Reviewed-on: https://go-review.googlesource.com/c/benchmarks/+/631678 Reviewed-by: Michael Pratt <mpratt@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
diff --git a/sweet/harnesses/cockroachdb.go b/sweet/harnesses/cockroachdb.go index 2782bcd..4ffc2bc 100644 --- a/sweet/harnesses/cockroachdb.go +++ b/sweet/harnesses/cockroachdb.go
@@ -94,6 +94,15 @@ return fmt.Errorf("failed to run %q: %v: output:\n%s", cmd, err, out) } + // Limit build parallelism. Letting build parallelism go arbitrarily high causes + // OOM crashes on high core-count machines for PGO builds. + // + // TODO(mknyszek): Consider only doing this for PGO builds. Currently we have no way + // to tell if we're doing a PGO build from this context without somewhat fragile checks. + if _, ok := env.Lookup("GOMAXPROCS"); !ok && runtime.NumCPU() > 32 { + env = env.MustSet("GOMAXPROCS=32") + } + // Get the Go version. Then, finall build the cockroach binary with `go build`. // // Build the cockroach-short binary as it is functionally the same, but without