internal/rosa: respect preferred loadavg target
Test / Create distribution (push) Successful in 56s
Test / Sandbox (push) Successful in 2m54s
Test / ShareFS (push) Successful in 3m57s
Test / Hakurei (push) Successful in 4m4s
Test / Sandbox (race detector) (push) Successful in 5m36s
Test / Hakurei (race detector) (push) Successful in 6m58s
Test / Flake checks (push) Successful in 1m11s

This generally improves build performance and system responsiveness.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-07-09 10:08:08 +09:00
parent 6cfd8fb934
commit 237e793895
10 changed files with 22 additions and 8 deletions
+5
View File
@@ -18,6 +18,11 @@ const (
jobsLE = `"$(expr ` + jobsE + ` '*' 2)"`
// jobsLFlagE is expression for flag with double of preferred job count.
jobsLFlagE = `"-j$(expr ` + jobsE + ` '*' 2)"`
// loadE is expression for preferred loadavg target set by [pkg].
loadE = `"$` + pkg.EnvLoad + `"`
// loadFlagE is expression for flag with preferred loadavg target.
loadFlagE = `"-l$` + pkg.EnvLoad + `"`
)
// newTar wraps [pkg.NewHTTPGetTar] with a simpler function signature.
+3 -3
View File
@@ -61,10 +61,10 @@ func (attr *CMakeHelper) script(t Toolchain, name string) string {
}
generate := "Ninja"
test := "ninja " + jobsFlagE + " test"
test := "ninja " + jobsFlagE + " " + loadFlagE + " test"
if attr.Make {
generate = "'Unix Makefiles'"
test = "make " + jobsFlagE + " test"
test = "make " + jobsFlagE + " " + loadFlagE + " test"
}
if attr.Test != "" {
test = attr.Test
@@ -97,7 +97,7 @@ cmake -G ` + generate + ` \
}), " \\\n\t") + ` \
-DCMAKE_INSTALL_PREFIX=/system \
'/usr/src/` + name + `/` + filepath.Join(attr.Append...) + `'
cmake --build . --parallel=` + jobsE + `
cmake --build . --parallel=` + jobsE + ` -- ` + loadFlagE + `
DESTDIR=/work cmake --install .
` + script
}
+1 -1
View File
@@ -365,7 +365,7 @@ ln -s clang++ /work/system/bin/c++
// on 3-stage determinism to test later stages.
SkipTest: t.stage.isStage0(),
Test: "ninja " + jobsFlagE + " check-all",
Test: "ninja " + jobsFlagE + " " + loadFlagE + " check-all",
},
_python,
_perl,
+3 -1
View File
@@ -160,7 +160,8 @@ func (attr *MakeHelper) script(t Toolchain, name string) string {
scriptMake := `
make \
` + jobsFlagE
` + jobsFlagE + ` \
` + loadFlagE
if len(attr.Make) > 0 {
scriptMake += " \\\n\t" + strings.Join(attr.Make, " \\\n\t")
}
@@ -170,6 +171,7 @@ make \
(!attr.SkipCheckEarly || !t.stage.isStage0()) {
scriptMake += attr.ScriptCheckEarly + `make \
` + jobsFlagE + ` \
` + loadFlagE + ` \
`
if len(attr.Check) > 0 {
scriptMake += strings.Join(attr.Check, " \\\n\t")
+1 -1
View File
@@ -34,7 +34,7 @@ package firmware {
// requires pre-commit
skipCheck = true;
install = "make " + jobsFlagE + " DESTDIR=/work/system dedup";
install = "make " + jobsFlagE + " " + loadFlagE + " DESTDIR=/work/system dedup";
};
inputs = [
+1
View File
@@ -70,6 +70,7 @@ disable_test t5515-fetch-merge-logic
install = `make \
` + jobsFlagE + ` \
` + loadFlagE + ` \
DESTDIR=/work \
NO_INSTALL_HARDLINKS=1 \
install`;
+1
View File
@@ -111,6 +111,7 @@ install -Dm0500 \
make \
` + jobsFlagE + ` \
` + loadFlagE + ` \
-f /usr/src/kernel/Makefile \
O=/tmp/kbuild \
LLVM=1 \
+1 -1
View File
@@ -23,7 +23,7 @@ python3 /usr/src/ninja/configure.py \
--bootstrap
python3 /usr/src/ninja/configure.py \
--gtest-source-dir=/usr/src/extra/googletest
./ninja ` + jobsFlagE + ` all
./ninja ` + jobsFlagE + ` ` + loadFlagE + ` all
`;
check = "./ninja_test";
+3 -1
View File
@@ -32,11 +32,13 @@ func (attr *MakeMakerHelper) script(t Toolchain, _ string) string {
script := `perl Makefile.PL \
PREFIX=/system
make \
` + jobsFlagE
` + jobsFlagE + ` \
` + loadFlagE
if !attr.SkipCheck && t.opts&OptSkipCheck == 0 {
script += `
make \
` + jobsFlagE + ` \
` + loadFlagE + ` \
test
`
}
+3
View File
@@ -499,6 +499,9 @@ func (s *S) getFrame() azalea.Frame {
k("jobsLE"): jobsLE,
k("jobsLFlagE"): jobsLFlagE,
k("loadE"): loadE,
k("loadFlagE"): loadFlagE,
k("anityaFallback"): (*Versions).getStable,
k("anityaLegacyCPAN"): func(v *Versions) string {
for _, e := range v.Stable {