Cgroups not working with PREEMPT-RT

Hi,

we have an issue on a Jetson Nano (L4T 32.7.5). After applying PREMPT_RT patches, cgroups
cpuset.cpus cannot be set anymore:

# get parent mems and cpus:
> cat /sys/fs/cgroup/cpuset/cpuset.mems && cat /sys/fs/cgroup/cpuset/cpuset.cpus
0
0-3
# create child and gather inital mems and cpus
> mkdir /sys/fs/cgroup/cpuset/test
> cat /sys/fs/cgroup/cpuset/test/cpuset.mems && cat /sys/fs/cgroup/cpuset/test/cpuset.cpus
<empty>
<empty>
# set and read mems and cpus
> echo 0 > /sys/fs/cgroup/cpuset/test/cpuset.mems
> echo 0-3 > /sys/fs/cgroup/cpuset/test/cpuset.cpus
> cat /sys/fs/cgroup/cpuset/test/cpuset.mems && cat /sys/fs/cgroup/cpuset/test/cpuset.cpus
0
<empty>

This leads to the issue, that no process can be attached:

> echo $$ > /sys/fs/cgroup/cpuset/test/tasks
bash: echo: write error: No space left on device

Because docker uses this mechanism, we are not able to start any
container. I assume it’s because no CPU can be assigned. Any idea what could be the reason for this and how this could be solved?

Thanks, Markus

Hi,
Since we don’t validate running docker on RT kernel, it is possible it does not work properly. This would need other users to share experience. You may also check if certain configs have to be enabled for the use-case and rebuild kernel image for a try.

Hi DaneLLL,

do you have a suggestion, which kernel configs I could try?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.