I think Tejun is concerned about a change in the default behavior ofI am also able to reproduce on Ubuntu 21.04 LTS.
cpuset v1.
There is a special v2 mode for cpuset that is enabled by the mount
option "cpuset_v2_mode". This causes the cpuset v1 to adopt some of the
v2 behavior. I introduced this v2 mode a while back to address, I think,
a similar concern. Could you try that to see if it is able to address
your problem? If not, you can make some code adjustment within the
framework of the v2 mode. As long as it is an opt-in, I think we are
open to further change.
all docker will be put in this cgroups and its child cgroups:
/sys/fs/cgroup/cpuset/docker
disabling and enabling SMT by:
echo off > /sys/devices/system/cpu/smt/control
echo on > /sys/devices/system/cpu/smt/control
or unpluging and pluging CPUs by:
echo 0 > /sys/devices/system/cpu/cpuX/online
echo 1 > /sys/devices/system/cpu/cpuX/online
then all docker images will lose some CPUs.
So should we document the broken behaviours somewhere?