• Waiman Long's avatar
    cgroup/cpuset: Make cpuset.cpus.exclusive independent of cpuset.cpus · 737bb142
    Waiman Long authored
    The "cpuset.cpus.exclusive.effective" value is currently limited to a
    subset of its "cpuset.cpus". This makes the exclusive CPUs distribution
    hierarchy subsumed within the larger "cpuset.cpus" hierarchy. We have to
    decide on what CPUs are used locally and what CPUs can be passed down as
    exclusive CPUs down the hierarchy and combine them into "cpuset.cpus".
    
    The advantage of the current scheme is to have only one hierarchy to
    worry about. However, it make it harder to use as all the "cpuset.cpus"
    values have to be properly set along the way down to the designated remote
    partition root. It also makes it more cumbersome to find out what CPUs
    can be used locally.
    
    Make creation of remote partition simpler by breaking the
    dependency of "cpuset.cpus.exclusive" on "cpuset.cpus" and make
    them independent entities. Now we have two separate hierarchies -
    one for setting "cpuset.cpus.effective" and the other one for setting
    "cpuset.cpus.exclusive.effective". We may not need to set "cpuset.cpus"
    when we activate a partition root anymore.
    
    Also update Documentation/admin-guide/cgroup-v2.rst and cpuset.c comment
    to document this change.
    Suggested-by: default avatarPetr Malat <oss@malat.biz>
    Signed-off-by: default avatarWaiman Long <longman@redhat.com>
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    737bb142
cpuset.c 143 KB