Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LLVM: mark as big-parallel #86063

Merged
merged 5 commits into from May 1, 2020
Merged

LLVM: mark as big-parallel #86063

merged 5 commits into from May 1, 2020

Conversation

@bennofs
Copy link
Contributor

bennofs commented Apr 26, 2020

Motivation for this change

LLVM frequently times out (see https://hydra.nixos.org/job/nixos/release-20.03-aarch64/nixpkgs.llvm_9.aarch64-linux as an example), hopefully marking as big-parallel should give it enough resources to finish quicker. LLVM 5 was already marked as big-parallel, so I went and marked the newer versions big-parallel as well.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
@bennofs bennofs requested a review from matthewbauer as a code owner Apr 26, 2020
@bennofs bennofs changed the title Llvm big parallel LLVM: mark as big-parallel Apr 26, 2020
@ofborg ofborg bot requested review from lovek323, 7c6f434c and dtzWill Apr 26, 2020
@bennofs
Copy link
Contributor Author

bennofs commented Apr 26, 2020

Question: should we only apply big-parallel on aarch64? This might reduce the rebuilt amount?

@bhipple
Copy link
Contributor

bhipple commented Apr 26, 2020

With the number of rebuilds, this should go to staging I think.

@veprbl veprbl requested a review from LnL7 Apr 26, 2020
bennofs added 4 commits Apr 26, 2020
LLVM builds frequently time out on hydra at least on AArch64. Marking
big-parallel gives them more resources to finish quicker.
LLVM builds frequently time out on hydra at least on AArch64. Marking
big-parallel gives them more resources to finish quicker.
LLVM builds frequently time out on hydra at least on AArch64. Marking
big-parallel gives them more resources to finish quicker.
LLVM builds frequently time out on hydra at least on AArch64. Marking
big-parallel gives them more resources to finish quicker.
@bennofs bennofs changed the base branch from master to staging Apr 27, 2020
@bennofs bennofs force-pushed the bennofs:llvm-big-parallel branch from 73701c3 to 8d8c050 Apr 27, 2020
@bennofs
Copy link
Contributor Author

bennofs commented Apr 27, 2020

Rebased to staging, wasn't sure at first whether a change in requiredSystemFeatures would cause rebuilds.

@FRidh
Copy link
Member

FRidh commented Apr 27, 2020

Will this have any effect? As far as I know big-parallel is one of the "legacy" features that every Nix installation has on by default. https://github.com/NixOS/nixos-org-configurations/search?q=big-parallel&unscoped_q=big-parallel also doesn't yield anything interesting.

@FRidh FRidh added this to Needs review in Staging Apr 27, 2020
@bennofs
Copy link
Contributor Author

bennofs commented Apr 27, 2020

@FRidh on #nixos-aarch64, @grahamc said:

gchristensen: big-parallel jobs get 32 cores, and 2 jobs per machine, regular builds get 2 cores and 16 jobs per machine

@jonringer
Copy link
Contributor

jonringer commented Apr 28, 2020

I think it's largely an infrastructure optimization, as the wiki section on distributed builds mentions it. https://nixos.wiki/wiki/Distributed_build

@vcunat
vcunat approved these changes Apr 28, 2020
Copy link
Member

vcunat left a comment

❤️ except that llvm 10 is missing. I think it's worth picking to staging-20.03 as well, on the next big rebuild.

Staging automation moved this from Needs review to Ready Apr 28, 2020
LLVM builds frequently time out on hydra at least on AArch64. Marking
big-parallel gives them more resources to finish quicker.
@bennofs
Copy link
Contributor Author

bennofs commented Apr 28, 2020

llvm_10 added

@LnL7
LnL7 approved these changes Apr 28, 2020
@jonringer
Copy link
Contributor

jonringer commented Apr 28, 2020

unfortunately, these are all broken currently

[13:44:06] jon@nixos ~/projects/nixpkgs (staging)
$ nix build -f . llvm_{6,7,8,9,10} --keep-going
builder for '/nix/store/ajqw5mrccbf26axn1mcp39l8lmvxgx93-libbfd-2.34.drv' failed with exit code 1; last 10 log lines:
  patching file bfd/configure.ac
  Hunk #1 FAILED at 241.
  1 out of 1 hunk FAILED -- saving rejects to file bfd/configure.ac.rej
  patching file opcodes/Makefile.am
  Hunk #1 succeeded at 51 (offset -1 lines).
  Hunk #2 succeeded at 301 (offset -2 lines).
  Hunk #3 succeeded at 322 (offset -2 lines).
  patching file opcodes/configure.ac
  Hunk #1 succeeded at 86 (offset -3 lines).
  Hunk #2 succeeded at 138 (offset 3 lines).
cannot build derivation '/nix/store/fspqc2gbf618gqaqsfllysh0kkdjxcrg-llvm-10.0.0.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/2rd1i67dwg5v380yg8c58y7g44lns19c-llvm-6.0.1.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/qvhcq0v99cgjxjq6788ydps3d9gv6lfc-llvm-7.1.0.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/5w107rwvi902r1jsbff4b91rh96bzxpa-llvm-8.0.1.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/jrwd4z8csc2l70fw92rd374q1vgnfv15-llvm-9.0.1.drv': 1 dependencies couldn't be built
[0 built (1 failed)]
error: build of '/nix/store/2rd1i67dwg5v380yg8c58y7g44lns19c-llvm-6.0.1.drv', '/nix/store/5w107rwvi902r1jsbff4b91rh96bzxpa-llvm-8.0.1.drv', '/nix/store/fspqc2gbf618gqaqsfllysh0kkdjxcrg-llvm-10.0.0.drv', '/nix/store/jrwd4z8csc2l70fw92rd374q1vgnfv15-llvm-9.0.1.drv', '/nix/store/qvhcq0v99cgjxjq6788ydps3d9gv6lfc-llvm-7.1.0.drv' failed

EDIT: fixed by: #86260

@jonringer jonringer mentioned this pull request Apr 28, 2020
3 of 10 tasks complete
@FRidh FRidh merged commit ed2ac0d into NixOS:staging May 1, 2020
16 checks passed
16 checks passed
llvm_10, llvm_10.passthru.tests, llvm_6, llvm_6.passthru.tests, llvm_7, llvm_7.passthru.tests, llvm_8, llvm_8.passthru.tests, llvm_9, llvm_9.passthru.tests on aarch64-linux Failure
Details
llvm_10, llvm_10.passthru.tests, llvm_6, llvm_6.passthru.tests, llvm_7, llvm_7.passthru.tests, llvm_8, llvm_8.passthru.tests, llvm_9, llvm_9.passthru.tests on x86_64-linux Failure
Details
Evaluation Performance Report Evaluator Performance Report
Details
grahamcofborg-eval ^.^!
Details
grahamcofborg-eval-check-maintainers matching changed paths to changed attrs...
Details
grahamcofborg-eval-check-meta config.nix: checkMeta = true
Details
grahamcofborg-eval-darwin nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="334e260"; rev="334e260443fecc2506ab097b3abae53bbc902647"; } ./pkgs/t
Details
grahamcofborg-eval-lib-tests nix-build --arg pkgs import ./. {} ./lib/tests/release.nix
Details
grahamcofborg-eval-nixos nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="334e260"; rev="334e260443fecc2506ab097b3abae53bbc902647"; } ./nixos/
Details
grahamcofborg-eval-nixos-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="334e260"; rev="334e260443fecc2506ab097b3abae53bbc902647"; } ./nixos/
Details
grahamcofborg-eval-nixos-options nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="334e260"; rev="334e260443fecc2506ab097b3abae53bbc902647"; } ./nixos/
Details
grahamcofborg-eval-nixpkgs-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="334e260"; rev="334e260443fecc2506ab097b3abae53bbc902647"; } ./pkgs/t
Details
grahamcofborg-eval-nixpkgs-tarball nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="334e260"; rev="334e260443fecc2506ab097b3abae53bbc902647"; } ./pkgs/t
Details
grahamcofborg-eval-nixpkgs-unstable-jobset nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="334e260"; rev="334e260443fecc2506ab097b3abae53bbc902647"; } ./pkgs/t
Details
grahamcofborg-eval-package-list nix-env -qa --json --file .
Details
grahamcofborg-eval-package-list-no-aliases nix-env -qa --json --file . --arg config { allowAliases = false; }
Details
Staging automation moved this from Ready to Done May 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.