Subject: [bug#66156] [PATCH 00/12] Introducing Smart Hurdloading

From: Janneke Nieuwenhuizen <[email-masked]>
Date: Fri, 22 Sep 2023 16:07:13 +0200

Ludovic Courtès writes:

Hi Ludo,

> This patch series, my friends, sets up Smart Hurdloading™, sometimes
> referred to as “Hurd auto-offloading”.  (Yeah I worked hard on branding…)
>
> Concretely, if you add (service hurd-vm-service-type), you can now run:
>
>   guix build libreoffice -s i586-gnu

Beautiful!  I'm wondering how this works wrt disk size; the default is
still 'guess?  In my childhurds I have

   (hurd-vm-configuration
    ..
    (disk-size (* 16 1024 (expt 2 20))) ;16GiB

which is pretty cheap now that we have qcow2.  I'm not sure how
expensive it is to set memory-size if you don't use it?

> The series is a bit of a potpourri: I fixed Hurd issues here and there
> (currently offloading to a childhurd doesn’t work on ‘master’, because
> of the locale issue, for instance), improved documentation, etc.  I also
> took a couple of long detours not shown here that might lead to further
> improvements in the future.

That's great, very nice.  And quite understandable afaic, the hurd-team
branch has also been quite a mixed set of work.

> My goal is to extend this mechanism beyond the Hurd, to have a generic
> mechanism to spin up Guix System VMs we can easily offload to.
>
> Thoughts?

I'm wondering if there is a way to/if we need a way to set the default
priority of the childhurd.  I'm usually offloading to another machine's
childhurd and will probably want to prioritize that when I'm at home.

(Making a copy of /etc/guix/machines.scm and editing that as required
would probably mork for me.)

I've added this patch set to the hurd-team branch and am testing it
now.  The only thing I found without testing:

> Subject: [bug#66156] [PATCH 06/12] services: guix: Support declarative offloading setup.
> To: [email-masked]
> Cc: Ludovic Courtès <[email-masked]>
> Date: Fri, 22 Sep 2023 14:54:07 +0200 (44 minutes, 21 seconds ago)
> Resent-From: Ludovic Courtès <[email-masked]>
> 
> * gnu/services/base.scm (guix-machines-files-installation): New
> procedure.
> (<guix-configuration>)[build-machines]: New field.
> (guix-activation): Call ‘ guix-machines-files-installation’.
                           ^
Remove space.

Thanks for this amazing piece of work and bug-fixing!

Greetings,
Janneke

-- 
Janneke Nieuwenhuizen <[email-masked]>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com