Subject: Re: [bug#29409] Remove hugetlb control group on ARM32.

From: Tobias Geerinckx-Rice <[email-masked]>
Date: Thu, 21 Dec 2017 02:16:52 +0100

Mathieu! (and others),

Mathieu Othacehe wrote on 20/12/17 at 20:15:
> Mounting %control-groups fails on ARM32 platform because we build a
> kernel without LPAE support which implies hugetlb control group cannot
> be supported.

What happens when the mount fails? At first glance, %control-groups
aren't needed-for-boot. Unfortunately, I'm not able to test it now: it's
all disgustingly hypothetical from here on.

> Like Debian we could have an ARMMP and ARMMP-LPAE kernel but the problem
> would still exists for ARMMP.
> 
> I'm not sure what do about, a workaround could be the ugly hack
> attached, WDYT ?

So to me your patch implies that mounting the hugetlb cgroup is entirely
optional, and that no other (known) services will actually break if it's
not mounted. %control-groups are mounted as part of %base-file-systems,
about which the manual:

  -- Scheme Variable: %base-file-systems
      These are essential file systems that are required on normal
      systems, such as %PSEUDO-TERMINAL-FILE-SYSTEM and %IMMUTABLE-STORE
      (see below.)  Operating system declarations should always contain
      at least these.

In practice, %base-file-systems depends on more mounts than it probably
should, since some of them aren't essential and some can't even exist on
some platforms. That keeps things simple, and isn't a problem *if*
mounting optional file systems like %control-groups simply logs the
error and continues normally with the next mount. A bit dirty, perhaps,
but there are more places in file-systems.scm that feel that way to me.

If the patch only serves to suppress such an error, I don't think it's
worth copying details of our kernel configurations around.

If it fixes a broken boot, there's something... off about the way we
handle mounts.

...or maybe I am. Thoughts?

> From 2172a1897a9729b65767bb58883247a3c604109f Mon Sep 17 00:00:00 2001
> From: Mathieu Othacehe <[email-masked]>
> Date: Wed, 20 Dec 2017 20:02:33 +0100
> Subject: [PATCH] file-systems: Do not mount hugetlb cgroup filesystem on
>  arm32.
> 
> On ARM32 without LPAE support, hugetlb control group is not supported.

Whenever I write an ‘extra’ line like this one, I usually realise it's
really a comment in disguise, more at home in the code than forgotten in
the commit log. I think that's the case here.

Kind regards,

T G-R