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)"` jobsLE = `"$(expr ` + jobsE + ` '*' 2)"`
// jobsLFlagE is expression for flag with double of preferred job count. // jobsLFlagE is expression for flag with double of preferred job count.
jobsLFlagE = `"-j$(expr ` + jobsE + ` '*' 2)"` 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. // 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" generate := "Ninja"
test := "ninja " + jobsFlagE + " test" test := "ninja " + jobsFlagE + " " + loadFlagE + " test"
if attr.Make { if attr.Make {
generate = "'Unix Makefiles'" generate = "'Unix Makefiles'"
test = "make " + jobsFlagE + " test" test = "make " + jobsFlagE + " " + loadFlagE + " test"
} }
if attr.Test != "" { if attr.Test != "" {
test = attr.Test test = attr.Test
@@ -97,7 +97,7 @@ cmake -G ` + generate + ` \
}), " \\\n\t") + ` \ }), " \\\n\t") + ` \
-DCMAKE_INSTALL_PREFIX=/system \ -DCMAKE_INSTALL_PREFIX=/system \
'/usr/src/` + name + `/` + filepath.Join(attr.Append...) + `' '/usr/src/` + name + `/` + filepath.Join(attr.Append...) + `'
cmake --build . --parallel=` + jobsE + ` cmake --build . --parallel=` + jobsE + ` -- ` + loadFlagE + `
DESTDIR=/work cmake --install . DESTDIR=/work cmake --install .
` + script ` + script
} }
+1 -1
View File
@@ -365,7 +365,7 @@ ln -s clang++ /work/system/bin/c++
// on 3-stage determinism to test later stages. // on 3-stage determinism to test later stages.
SkipTest: t.stage.isStage0(), SkipTest: t.stage.isStage0(),
Test: "ninja " + jobsFlagE + " check-all", Test: "ninja " + jobsFlagE + " " + loadFlagE + " check-all",
}, },
_python, _python,
_perl, _perl,
+3 -1
View File
@@ -160,7 +160,8 @@ func (attr *MakeHelper) script(t Toolchain, name string) string {
scriptMake := ` scriptMake := `
make \ make \
` + jobsFlagE ` + jobsFlagE + ` \
` + loadFlagE
if len(attr.Make) > 0 { if len(attr.Make) > 0 {
scriptMake += " \\\n\t" + strings.Join(attr.Make, " \\\n\t") scriptMake += " \\\n\t" + strings.Join(attr.Make, " \\\n\t")
} }
@@ -170,6 +171,7 @@ make \
(!attr.SkipCheckEarly || !t.stage.isStage0()) { (!attr.SkipCheckEarly || !t.stage.isStage0()) {
scriptMake += attr.ScriptCheckEarly + `make \ scriptMake += attr.ScriptCheckEarly + `make \
` + jobsFlagE + ` \ ` + jobsFlagE + ` \
` + loadFlagE + ` \
` `
if len(attr.Check) > 0 { if len(attr.Check) > 0 {
scriptMake += strings.Join(attr.Check, " \\\n\t") scriptMake += strings.Join(attr.Check, " \\\n\t")
+1 -1
View File
@@ -34,7 +34,7 @@ package firmware {
// requires pre-commit // requires pre-commit
skipCheck = true; skipCheck = true;
install = "make " + jobsFlagE + " DESTDIR=/work/system dedup"; install = "make " + jobsFlagE + " " + loadFlagE + " DESTDIR=/work/system dedup";
}; };
inputs = [ inputs = [
+1
View File
@@ -70,6 +70,7 @@ disable_test t5515-fetch-merge-logic
install = `make \ install = `make \
` + jobsFlagE + ` \ ` + jobsFlagE + ` \
` + loadFlagE + ` \
DESTDIR=/work \ DESTDIR=/work \
NO_INSTALL_HARDLINKS=1 \ NO_INSTALL_HARDLINKS=1 \
install`; install`;
+1
View File
@@ -111,6 +111,7 @@ install -Dm0500 \
make \ make \
` + jobsFlagE + ` \ ` + jobsFlagE + ` \
` + loadFlagE + ` \
-f /usr/src/kernel/Makefile \ -f /usr/src/kernel/Makefile \
O=/tmp/kbuild \ O=/tmp/kbuild \
LLVM=1 \ LLVM=1 \
+1 -1
View File
@@ -23,7 +23,7 @@ python3 /usr/src/ninja/configure.py \
--bootstrap --bootstrap
python3 /usr/src/ninja/configure.py \ python3 /usr/src/ninja/configure.py \
--gtest-source-dir=/usr/src/extra/googletest --gtest-source-dir=/usr/src/extra/googletest
./ninja ` + jobsFlagE + ` all ./ninja ` + jobsFlagE + ` ` + loadFlagE + ` all
`; `;
check = "./ninja_test"; check = "./ninja_test";
+3 -1
View File
@@ -32,11 +32,13 @@ func (attr *MakeMakerHelper) script(t Toolchain, _ string) string {
script := `perl Makefile.PL \ script := `perl Makefile.PL \
PREFIX=/system PREFIX=/system
make \ make \
` + jobsFlagE ` + jobsFlagE + ` \
` + loadFlagE
if !attr.SkipCheck && t.opts&OptSkipCheck == 0 { if !attr.SkipCheck && t.opts&OptSkipCheck == 0 {
script += ` script += `
make \ make \
` + jobsFlagE + ` \ ` + jobsFlagE + ` \
` + loadFlagE + ` \
test test
` `
} }
+3
View File
@@ -499,6 +499,9 @@ func (s *S) getFrame() azalea.Frame {
k("jobsLE"): jobsLE, k("jobsLE"): jobsLE,
k("jobsLFlagE"): jobsLFlagE, k("jobsLFlagE"): jobsLFlagE,
k("loadE"): loadE,
k("loadFlagE"): loadFlagE,
k("anityaFallback"): (*Versions).getStable, k("anityaFallback"): (*Versions).getStable,
k("anityaLegacyCPAN"): func(v *Versions) string { k("anityaLegacyCPAN"): func(v *Versions) string {
for _, e := range v.Stable { for _, e := range v.Stable {