Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.bugs.dist > #1069007 > unrolled thread

Bug#993311: Support for cgroup v2 via cgroup-tools

Started bySantiago Ruano Rincón <santiago.ruano-rincon@imt-atlantique.fr>
First post2021-08-30 17:30 +0200
Last post2021-09-01 17:30 +0200
Articles 4 — 3 participants

Back to article view | Back to linux.debian.bugs.dist


Contents

  Bug#993311: Support for cgroup v2 via cgroup-tools Santiago Ruano Rincón <santiago.ruano-rincon@imt-atlantique.fr> - 2021-08-30 17:30 +0200
    Bug#993311: Support for cgroup v2 via cgroup-tools Thomas Goirand <thomas@goirand.fr> - 2021-08-31 14:50 +0200
      Bug#993311: Support for cgroup v2 via cgroup-tools Santiago Ruano Rincón <santiago.ruano-rincon@imt-atlantique.fr> - 2021-08-31 15:50 +0200
        Bug#993311: Support for cgroup v2 via cgroup-tools Thomas Goirand <zigo@debian.org> - 2021-09-01 17:30 +0200

#1069007 — Bug#993311: Support for cgroup v2 via cgroup-tools

FromSantiago Ruano Rincón <santiago.ruano-rincon@imt-atlantique.fr>
Date2021-08-30 17:30 +0200
SubjectBug#993311: Support for cgroup v2 via cgroup-tools
Message-ID<CRRot-7wR-5@gated-at.bofh.it>

[Multipart message — attachments visible in raw view] — view raw

Source: cinder
Version: 2:18.0.0-2
Severity: important
Tags: upstream

Hello Zigo,

As discussed privately, cinder needs to support cgroup v2. Now that
that a version of cgroup-tools supporing cgroup v2 (2.0) has landed into
unstable, cinder can still use it, but it needs to adapt the
controllers path, since some resources are not longer available.

It means that instead of using blkio, as in
https://sources.debian.org/src/cinder/2:18.0.0-2/cinder/privsep/cgroup.py/#L28
cinder has to use the io controller (If I am not wrong).
You can refer to the kernel documentation about cgroups v2:
https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html#io

Cinder would have to call `cgset` and `cgcreate` with paths according
to the cgroup version supported by the running system.
To know if cgroup v2 is supported, one way is to
`grep cgroup2 /proc/mounts`

HTH,

 -- Santiago



-- System Information:
Debian Release: bookworm/sid
  APT prefers oldoldstable
  APT policy: (500, 'oldoldstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.10.0-8-amd64 (SMP w/8 CPU threads)
Locale: LANG=es_CO.UTF-8, LC_CTYPE=es_CO.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

[toc] | [next] | [standalone]


#1069136

FromThomas Goirand <thomas@goirand.fr>
Date2021-08-31 14:50 +0200
Message-ID<CSbnc-3QE-1@gated-at.bofh.it>
In reply to#1069007
Hi Santiago,

Thanks for this bug report, I'll be working on it.

On 8/30/21 5:19 PM, Santiago Ruano Rincón wrote:
> To know if cgroup v2 is supported, one way is to
> `grep cgroup2 /proc/mounts`

I am really unsure about this. On Bullseye, for example, we do have
cgroup2 mounted just like in Sid, though the new syntax wont work. What
we need here is a way to tell what version of the cgset/cgcreate
userland binary is there, preferably with something distribution agnostic...

Maybe the only way is to just attempt the old style cgset, see if it
fails, and if it does, do v2 style cgset? I'd prefer a better way to
detect the cgroup version if available.

Cheers,

Thomas Goirand (zigo)

[toc] | [prev] | [next] | [standalone]


#1069150

FromSantiago Ruano Rincón <santiago.ruano-rincon@imt-atlantique.fr>
Date2021-08-31 15:50 +0200
Message-ID<CScjf-4r7-3@gated-at.bofh.it>
In reply to#1069136

[Multipart message — attachments visible in raw view] — view raw

El 31/08/21 a las 14:45, Thomas Goirand escribió:
> Hi Santiago,
> 
> Thanks for this bug report, I'll be working on it.

Thanks!

> 
> On 8/30/21 5:19 PM, Santiago Ruano Rincón wrote:
> > To know if cgroup v2 is supported, one way is to
> > `grep cgroup2 /proc/mounts`
> 
> I am really unsure about this. On Bullseye, for example, we do have
> cgroup2 mounted just like in Sid, though the new syntax wont work. What
> we need here is a way to tell what version of the cgset/cgcreate
> userland binary is there, preferably with something distribution agnostic...

Mmm, you need to make sure of two things: 1) the version of cgroup fs
available in the system, and 2) the version of cgroup-tools (which is
independent of 1)). You can install cgroup-tools without
mounting any cgroup file system, so I don't think knowing the version of
cgset/cgcreate is a fully reliable solution.

For 2), I'd prefer a versioned Depends on cgroup-tools (>= 2.0-2).

> Maybe the only way is to just attempt the old style cgset, see if it
> fails, and if it does, do v2 style cgset?

For 1), I'd chose to test v2 first, and then v1. Remember that v1 is not
mounted by default.

> I'd prefer a better way to detect the cgroup version if available.
...

If you can propose a better way, I am all ears.

Cheers,

 -- S

[toc] | [prev] | [next] | [standalone]


#1069323

FromThomas Goirand <zigo@debian.org>
Date2021-09-01 17:30 +0200
Message-ID<CSAlA-2S3-13@gated-at.bofh.it>
In reply to#1069150
On 8/31/21 3:40 PM, Santiago Ruano Rincón wrote:
> El 31/08/21 a las 14:45, Thomas Goirand escribió:
>> Hi Santiago,
>>
>> Thanks for this bug report, I'll be working on it.
> 
> Thanks!
> 
>>
>> On 8/30/21 5:19 PM, Santiago Ruano Rincón wrote:
>>> To know if cgroup v2 is supported, one way is to
>>> `grep cgroup2 /proc/mounts`
>>
>> I am really unsure about this. On Bullseye, for example, we do have
>> cgroup2 mounted just like in Sid, though the new syntax wont work. What
>> we need here is a way to tell what version of the cgset/cgcreate
>> userland binary is there, preferably with something distribution agnostic...
> 
> Mmm, you need to make sure of two things: 1) the version of cgroup fs
> available in the system, and 2) the version of cgroup-tools (which is
> independent of 1)). You can install cgroup-tools without
> mounting any cgroup file system, so I don't think knowing the version of
> cgset/cgcreate is a fully reliable solution.
> 
> For 2), I'd prefer a versioned Depends on cgroup-tools (>= 2.0-2).

That's not what I'm looking for. I'm looking for a way, in the upstream
Cinder, to detect what's going on. So this cannot be Debian (or any
other OS) specific.

>> Maybe the only way is to just attempt the old style cgset, see if it
>> fails, and if it does, do v2 style cgset?
> 
> For 1), I'd chose to test v2 first, and then v1. Remember that v1 is not
> mounted by default.

Yeah, definitively, the mounted cgroups needs to be tested too...

> If you can propose a better way, I am all ears.

Unfortunately, cgcreate / cgset don't output their version with -v :/

Thomas

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.bugs.dist


csiph-web