all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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

  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.