projects/linux·commit c8163ca8

cpuset: remove unneeded NODEMASK_ALLOC() in cpuset_attach()

c8163ca8 · Li Zefan <[email protected]> · 2011-03-23 16:42:46 -07:00

oldcs->mems_allowed is not modified during cpuset_attach(), so we don't
have to copy it to a buffer allocated by NODEMASK_ALLOC().  Just pass it
to cpuset_migrate_mm().

Signed-off-by: Li Zefan <[email protected]>
Cc: Paul Menage <[email protected]>
Acked-by: David Rientjes <[email protected]>
Cc: Miao Xie <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Commit
c8163ca8afcac0fc54593fc60d1e1110edbd0eb2
Parents
9303e0c4

Changes

1 files changed · +2 −5

FileStatusAddDelContent
kernel/cpuset.cmodified+2−5View file

kernel/cpuset.c

View file
diff --git a/kernel/cpuset.c b/kernel/cpuset.c
index 4683fe7..7f384f4 100644
--- a/kernel/cpuset.c
+++ b/kernel/cpuset.c
@@ -1438,10 +1438,9 @@ static void cpuset_attach(struct cgroup_subsys *ss, struct cgroup *cont,
struct mm_struct *mm;
struct cpuset *cs = cgroup_cs(cont);
struct cpuset *oldcs = cgroup_cs(oldcont);
- NODEMASK_ALLOC(nodemask_t, from, GFP_KERNEL);
NODEMASK_ALLOC(nodemask_t, to, GFP_KERNEL);
- if (from == NULL || to == NULL)
+ if (to == NULL)
goto alloc_fail;
if (cs == &top_cpuset) {
@@ -1463,18 +1462,16 @@ static void cpuset_attach(struct cgroup_subsys *ss, struct cgroup *cont,
}
/* change mm; only needs to be done once even if threadgroup */
- *from = oldcs->mems_allowed;
*to = cs->mems_allowed;
mm = get_task_mm(tsk);
if (mm) {
mpol_rebind_mm(mm, to);
if (is_memory_migrate(cs))
- cpuset_migrate_mm(mm, from, to);
+ cpuset_migrate_mm(mm, &oldcs->mems_allowed, to);
mmput(mm);
}
alloc_fail:
- NODEMASK_FREE(from);
NODEMASK_FREE(to);
}