[Patch v2] cgroup: return early if it is already on preloaded list

From: Wei Yang
Date: Mon Dec 13 2021 - 19:46:20 EST


If a cset is already on preloaded list, this means we have already setup
this cset properly for migration.

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

[tj@xxxxxxxxxx: rephrase the commit log]

Signed-off-by: Wei Yang <richard.weiyang@xxxxxxxxx>

---
v2: rephrase commit log
---
kernel/cgroup/cgroup.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
index 452a723d4a36..2cf729afe834 100644
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -2648,11 +2648,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));
--
2.33.1