On вторник, 17 сентября 2019 г. 14:33:39 MSK, Dmitry Alexandrov wrote:
Но есть и одно большое но: Систем-д. Он предъявляет монопольное право на распоряжение к-группами. Оно и на первые предъявлял, просто net_cls от него был свободен. А ко вторым, как вы знаете, все контроллеры слили в один, так что вот так по-простому:
...уже не сделаешь.

И ещё я не учёл 1 обстоятельство. Конечно же, так можно сделать.
Ядро позволяет оставить контроллеры cpuset cpu io memory pids в единой иехархии cgroups v2, а net_cls смонтировать отдельно как cgroups v1.

# mount -t cgroup -o net_cls,net_prio cgroup /mnt/cgroup_v1/
# mount | grep cgroup
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
cgroup on /mnt/cgroup_v1 type cgroup (rw,relatime,net_cls,net_prio)

# ls -1 /sys/fs/cgroup/
cgroup.controllers
cgroup.max.depth
cgroup.max.descendants
cgroup.procs
cgroup.stat
cgroup.subtree_control
cgroup.threads
cpuset.cpus.effective
cpuset.mems.effective
init.scope
system.slice
user.slice

# ls -1 /mnt/cgroup_v1/
cgroup.clone_children
cgroup.procs
cgroup.sane_behavior
net_cls.classid
net_prio.ifpriomap
net_prio.prioidx
notify_on_release
release_agent
tasks

Единственное неудобство, что не получилось создать точку монтирования в /sys.

Ответить