cgroups v2 - How to move all realtime(RT) processes to "root cgroup"?


Deleted member 127267

I have a problem adding cpu controller since command gives error :
sudo echo "+cpu" >> cgroup.subtree_control
bash: cgroup.subtree_control: Access Denied.

Therefore, I have found a solution is that I have to move all realtime(RT) processes to root cgroup as explained in cgroupv2 documents (revealed in similar problem's solution which reference to
WARNING: cgroup2 doesn't yet support control of realtime processes and
the cpu controller can only be enabled when all RT processes are in
the root cgroup. Be aware that system management software may already
have placed RT processes into nonroot cgroups during the system boot
process, and these processes may need to be moved to the root cgroup
before the cpu controller can be enabled.
When I used
ps ax -L -o 'pid tid cls rtprio comm' | grep RR
command, I obtained 5 different processes :
1220 1229 RR 20 pipewire
1221 1342 RR 5 alsa-sink-ALC88
1221 1343 RR 5 alsa-source-ALC
1246 1250 RR 20 pipewire-media-
7771 7773 RR 99 rtkit-daemon

As I understood from internet, pipewire and pipewire-media are RT "streaming services". I tried to move one of them to root cgroup by using :
echo "1220" > /sys/fs/cgroup/cgroup.procs

but it gives the same error, the most probabily since they are still active and system does not allow to change their group. So how can I move those processes to root cgroup? I tried to kill them before moving and activating CPU and CPUSet controllers but no success, since all RT processes restarted immediately after I kill them again! What can I do?

Members online