Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dbc31337 authored by Kousik Kumar's avatar Kousik Kumar
Browse files

Pass along local resource fraction to reproxy

Reproxy should be respecting the -j value set by the user and not be
doing excessive local executions assuming the whole machine is available
to it. The local_resource_fraction flag is a way to ensure reproxy
consumes CPU only upto the -j value specified by the user.

Test:
1. Ran with `USE_RBE=true m -j 10 nothing` and local_resource_fraction
was set to 0.14 on a 72-core workstation.
2. Ran with `USE_RBE=true m nothing` and local_resource_fraction was set
to 1.0 on a 72-core machine.

Bug: b/207296459
Bug: b/236909178
Bug: b/235861862

Merged-In: I118bc10109f5a55df7a6c1ecd79499320055f2ed
Change-Id: I118bc10109f5a55df7a6c1ecd79499320055f2ed
parent 5990257d
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ import (
	"math/rand"
	"os"
	"path/filepath"
	"runtime"
	"syscall"
	"time"

@@ -87,6 +88,13 @@ func getRBEVars(ctx Context, config Config) map[string]string {
		}
		vars["RBE_server_address"] = fmt.Sprintf("unix://%v", name)
	}

	rf := 1.0
	if config.Parallel() < runtime.NumCPU() {
		rf = float64(config.Parallel()) / float64(runtime.NumCPU())
	}
	vars["RBE_local_resource_fraction"] = fmt.Sprintf("%.2f", rf)

	k, v := config.rbeAuth()
	vars[k] = v
	return vars