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 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
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 April 26, 2020 19:06
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 April 27, 2020 09:02
@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.

@ofborg ofborg bot added 6.topic: GNOME GNOME desktop environment and its underlying platform 6.topic: golang 6.topic: haskell 6.topic: nixos 6.topic: python 6.topic: xfce The Xfce Desktop Environment 8.has: changelog 8.has: documentation 8.has: module (update) and removed 6.topic: GNOME GNOME desktop environment and its underlying platform labels Apr 27, 2020
@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

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

Copy link
Member

@vcunat vcunat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❤️ 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

@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

@FRidh FRidh merged commit ed2ac0d into NixOS:staging May 1, 2020
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
Projects
Staging
  
Done
Development

Successfully merging this pull request may close these issues.

None yet

6 participants