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 Change-Id: I118bc10109f5a55df7a6c1ecd79499320055f2ed
This commit is contained in:
parent
de232dbed2
commit
35faaef43e
1 changed files with 8 additions and 0 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue