cgroup: return early if it is already on preloaded list
authorWei Yang <richard.weiyang@gmail.com>
Tue, 14 Dec 2021 00:46:07 +0000 (00:46 +0000)
committerTejun Heo <tj@kernel.org>
Tue, 14 Dec 2021 19:45:20 +0000 (09:45 -1000)
If a cset is already on preloaded list, this means we have already setup
this cset properly for migration.

This patch just relocates the root cgrp lookup which isn't used anyway
when the cset is already on the preloaded list.

[tj@kernel.org: rephrase the commit log]

Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
kernel/cgroup/cgroup.c

index f522cee..4f77bf1 100644 (file)
@@ -2650,11 +2650,11 @@ void cgroup_migrate_add_src(struct css_set *src_cset,
        if (src_cset->dead)
                return;
 
-       src_cgrp = cset_cgroup_from_root(src_cset, dst_cgrp->root);
-
        if (!list_empty(&src_cset->mg_preload_node))
                return;
 
+       src_cgrp = cset_cgroup_from_root(src_cset, dst_cgrp->root);
+
        WARN_ON(src_cset->mg_src_cgrp);
        WARN_ON(src_cset->mg_dst_cgrp);
        WARN_ON(!list_empty(&src_cset->mg_tasks));