diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c index 6cf1534fb19df5866c56ee8fa47376d98380b026..164f5bee99da05cd22e99b9c7ba870ba217ebaa8 100644 --- a/kernel/cgroup/cpuset.c +++ b/kernel/cgroup/cpuset.c @@ -2307,7 +2307,8 @@ static void cpuset_attach(struct cgroup_taskset *tset) /* prepare for attach */ if (cs == &top_cpuset) { - cpumask_copy(cpus_attach, cpu_possible_mask); + cpumask_andnot(cpus_attach, cpu_possible_mask, + cs->subparts_cpus); wilds_cpus_allowed(cpus_attach); } else guarantee_online_cpus(cs, cpus_attach);