[systemd-devel] Is it meant to be possible to set IO[Read|Write]BandwidthMax on a slice ?

Hadrien Grasland hadrien.grasland at ijclab.in2p3.fr
Thu Apr 8 15:48:20 UTC 2021


Le 08/04/2021 à 17:27, Mantas Mikulėnas a écrit :
> On Thu, Apr 8, 2021 at 6:19 PM Hadrien Grasland 
> <hadrien.grasland at ijclab.in2p3.fr 
> <mailto:hadrien.grasland at ijclab.in2p3.fr>> wrote:
>
>     Le 08/04/2021 à 16:11, Lennart Poettering a écrit :
>     > On Do, 08.04.21 12:24, Hadrien Grasland
>     (hadrien.grasland at ijclab.in2p3.fr
>     <mailto:hadrien.grasland at ijclab.in2p3.fr>) wrote:
>     >
>     >> Hi everyone,
>     >>
>     >> In a scenario where running benchmarks on dedicated hardware is not
>     >> possible, I'm trying to momentarily cap the I/O bandwidth used by
>     >> interactive user sessions while benchmarks are running, in
>     order to improve
>     >> the stability of said benchmark's I/O performance.
>     > Is this on cgroupsv1 or cgroupsv2?
>     >
>     > IIRC there was some issue that the block io controller wasn't fully
>     > recursive on cgroupsv1. It should work on cgroupsv2.
>
>     This is on a hybrid cgroup configuration. I (perhaps mistakenly)
>     assumed
>     that modern systemd (v246) will use the cgroups v2 hierarchy in that
>     case, even though cgroups v1 is still exposed for compatibility with
>     older apps.
>
>
> If e.g. the io controller is exposed through cgroups v1, as far as I 
> know it cannot be simultaneously used through cgroups v2, and vice versa.
>
> (Hmm, wasn't there an option to choose which controllers to assign to 
> v1 and which ones to v2?)
Ah yes indeed, I missed this important bit when I last read 
https://systemd.io/CGROUP_DELEGATION/ :

"Note that in [hybrid] mode the unified hierarchy won’t have controllers 
attached, the controllers are all mounted as separate hierarchies as in 
legacy mode, i.e. |/sys/fs/cgroup/unified/| is purely and exclusively 
about core cgroup v2 functionality and not about resource management."

Then I guess unless your parenthesized comment is correct (which means 
that the above doc is out of date), I must use pure unified/cgroups2 
mode in order to do what I want with IO... except I can't switch to it 
because this will break slurm's cgroups support, which I need for a 
couple of other things, as it seems Slurm only supports v1 at the moment 
: https://groups.google.com/g/slurm-users/c/z57-Z3Tz0Oc?pli=1 . Hmmm...

I'd appreciate any confirmation/refuttal on the ability to do adjust 
controller asignment in a fine-grained way, otherwise it seems I'll need 
to live without I/O caps until slurm implements cgroup v2 support.

Hadrien

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/systemd-devel/attachments/20210408/3f2574a3/attachment.htm>


More information about the systemd-devel mailing list