|
@@ -1407,8 +1407,7 @@ static cpumask_var_t cpus_attach;
|
|
|
|
|
|
static void cpuset_attach(struct cgroup *cgrp, struct cgroup_taskset *tset)
|
|
|
{
|
|
|
- /* static bufs protected by cpuset_mutex */
|
|
|
- static nodemask_t cpuset_attach_nodemask_from;
|
|
|
+ /* static buf protected by cpuset_mutex */
|
|
|
static nodemask_t cpuset_attach_nodemask_to;
|
|
|
struct mm_struct *mm;
|
|
|
struct task_struct *task;
|
|
@@ -1442,13 +1441,12 @@ static void cpuset_attach(struct cgroup *cgrp, struct cgroup_taskset *tset)
|
|
|
* Change mm, possibly for multiple threads in a threadgroup. This is
|
|
|
* expensive and may sleep.
|
|
|
*/
|
|
|
- cpuset_attach_nodemask_from = oldcs->mems_allowed;
|
|
|
cpuset_attach_nodemask_to = cs->mems_allowed;
|
|
|
mm = get_task_mm(leader);
|
|
|
if (mm) {
|
|
|
mpol_rebind_mm(mm, &cpuset_attach_nodemask_to);
|
|
|
if (is_memory_migrate(cs))
|
|
|
- cpuset_migrate_mm(mm, &cpuset_attach_nodemask_from,
|
|
|
+ cpuset_migrate_mm(mm, &oldcs->mems_allowed,
|
|
|
&cpuset_attach_nodemask_to);
|
|
|
mmput(mm);
|
|
|
}
|