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:
@@ -19,6 +19,7 @@ import (
|
|||||||
"math/rand"
|
"math/rand"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"runtime"
|
||||||
"syscall"
|
"syscall"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@@ -87,6 +88,13 @@ func getRBEVars(ctx Context, config Config) map[string]string {
|
|||||||
}
|
}
|
||||||
vars["RBE_server_address"] = fmt.Sprintf("unix://%v", name)
|
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()
|
k, v := config.rbeAuth()
|
||||||
vars[k] = v
|
vars[k] = v
|
||||||
return vars
|
return vars
|
||||||
|
Reference in New Issue
Block a user