[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Guix on aarch64
From: |
Mark H Weaver |
Subject: |
Re: Guix on aarch64 |
Date: |
Sun, 26 Aug 2018 12:13:44 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Hi Ludovic,
address@hidden (Ludovic Courtès) writes:
> Mark H Weaver <address@hidden> skribis:
>
>> If I'm not mistaken, I believe I have confirmed with the test below that
>> a substitute for binutils from early commencement on aarch64 is not
>> available on berlin.
>
> [...]
>
>> It occurs to me that on Hydra, I have implemented a system to ensure
>> that *all* derivations from a certain set of _evaluations_ (the most
>> recent release and the last two weeks of 'master' evaluations) are
>> permanently kept as GC roots, regardless of how long ago they were
>> built. Among other things, this ensures that even the early
>> commencement derivations are kept even if they were built a long time
>> ago.
>>
>> Berlin.guixsd.org may not have any similar mechanism in place. It may
>> still be using the old policy, where old GC roots are deleted based
>> solely on their timestamps in the filesystem, which indicate when the GC
>> root symlinks were first installed, long ago during the last core
>> updates build-out. This could result in the early commencement
>> derivations and corresponding outputs being deleted prematurely.
>
> Correct. Berlin uses ‘guix publish’ with a TTL of 45 days: if a nar is
> not requested within 45 days, and if its corresponding store item was
> GC’d in the meantime, it disappears.
The 'guix publish' TTL is a secondary issue, because, as you say, the
NARs are only deleted if the corresponding store item has been GC'd.
The more important question is: what is the policy for deleting GC roots
on Berlin?
Regardless, I think we should seriously consider moving the Aarch64
build slave(s) to Hydra for now, until Cuirass is more mature.
That Aarch64 is only supported on Berlin causes several problems:
* We're unable to effectively monitor when packages become broken on
Aarch64, due to the lack of a mature web interface. I'm glad to see
that progress is being made there, but it's still very far from
sufficient for our purposes.
* When builds fail, they cannot be restarted on Berlin. It is quite
common for faulty test suites or other problems to cause spurious
failures, sometimes leading to a many important dependency failures.
This leads to missing substitutes.
* Our small number of Aarch64 build slaves makes it crucial to
prioritize the most important builds. On Hydra, I regularly inspect
the build queue and prioritize builds that I deem to be important. I
also cancel builds when appropriate, e.g. for wip branches such as
staging or core-updates, when a new evaluation is made, I cancel the
outdated builds. These interventions are quite important in practice,
especially for the slower architectures, or architectures with
insufficient build capacity, because we often create new builds faster
than our build farm is able to sustain.
* As we've just discovered, substitutes for early commencement packages,
and possibly other important packages, are missing on Aarch64 due to
an inadequate GC policy on Berlin, which makes Aarch64 effectively
unusable.
What do you think?
Mark
- Re: Guix on aarch64, Mark H Weaver, 2018/08/23
- Re: Guix on aarch64, Benjamin Slade, 2018/08/23
- Re: Guix on aarch64, Ludovic Courtès, 2018/08/24
- Re: Guix on aarch64, Ricardo Wurmus, 2018/08/24
- Re: Guix on aarch64,
Mark H Weaver <=
- Re: Guix on aarch64, Leo Famulari, 2018/08/26
- Re: Guix on aarch64, Ricardo Wurmus, 2018/08/27
- Re: Guix on aarch64, Mark H Weaver, 2018/08/27
- Re: Guix on aarch64, Mark H Weaver, 2018/08/27
- Re: Guix on aarch64, Ricardo Wurmus, 2018/08/27
- Re: Guix on aarch64, Mark H Weaver, 2018/08/27
- Re: Guix on aarch64, Mark H Weaver, 2018/08/27
- Re: Guix on aarch64, Mark H Weaver, 2018/08/28
- Re: Guix on aarch64, Ricardo Wurmus, 2018/08/28
- Re: Guix on aarch64, Andreas Enge, 2018/08/28