From: Mark H Weaver <mhw@netris.org>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guix-devel@gnu.org, Benjamin Slade <beoram@gmail.com>
Subject: Re: Guix on aarch64
Date: Sun, 26 Aug 2018 12:13:44 -0400 [thread overview]
Message-ID: <87efelw1fr.fsf@netris.org> (raw)
In-Reply-To: <87zhxcoy0p.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Fri, 24 Aug 2018 12:32:38 +0200")
Hi Ludovic,
ludo@gnu.org (Ludovic Courtès) writes:
> Mark H Weaver <mhw@netris.org> 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
next prev parent reply other threads:[~2018-08-26 16:15 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-16 15:27 Guix on aarch64 Benjamin Slade
2018-08-16 16:50 ` Clément Lassieur
2018-08-16 17:33 ` Benjamin Slade
2018-08-16 17:41 ` Benjamin Slade
2018-08-20 17:51 ` Mark H Weaver
2018-08-21 3:52 ` Benjamin Slade
2018-08-21 4:38 ` Leo Famulari
2018-08-21 5:20 ` Benjamin Slade
2018-08-21 17:44 ` Mark H Weaver
2018-08-21 21:31 ` Benjamin Slade
2018-08-23 4:58 ` Mark H Weaver
2018-08-23 16:09 ` Benjamin Slade
2018-08-24 10:32 ` Ludovic Courtès
2018-08-24 19:18 ` Ricardo Wurmus
2018-08-26 16:13 ` Mark H Weaver [this message]
2018-08-26 18:59 ` Leo Famulari
2018-08-27 8:04 ` Ricardo Wurmus
2018-08-27 18:54 ` Mark H Weaver
2018-08-27 19:11 ` Mark H Weaver
2018-08-27 19:26 ` Ricardo Wurmus
2018-08-27 21:05 ` Mark H Weaver
2018-08-27 21:56 ` Mark H Weaver
2018-08-28 5:39 ` Mark H Weaver
2018-08-28 7:57 ` Ricardo Wurmus
2018-08-28 10:00 ` Andreas Enge
2018-08-28 15:40 ` Mark H Weaver
2018-08-28 19:09 ` Leo Famulari
2018-08-28 19:22 ` Mark H Weaver
2018-08-27 19:50 ` Leo Famulari
2018-08-27 20:37 ` Ricardo Wurmus
2018-08-29 20:52 ` Joshua Branson
2018-08-30 20:47 ` Ricardo Wurmus
2018-08-30 9:49 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87efelw1fr.fsf@netris.org \
--to=mhw@netris.org \
--cc=beoram@gmail.com \
--cc=guix-devel@gnu.org \
--cc=ludo@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.