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
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:
@@ -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.
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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")
|
||||||
|
|||||||
@@ -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 = [
|
||||||
|
|||||||
@@ -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`;
|
||||||
|
|||||||
@@ -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 \
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|||||||
@@ -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
|
||||||
`
|
`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user