We have:
int cgroup_migrate_vet_dst(struct cgroup *dst_cgrp)
{
...
/* mixables don't care */
if (cgroup_is_mixable(dst_cgrp))
return 0;
/*
* If @dst_cgrp is already or can become a thread root or is
* threaded, it doesn't matter.
*/
if (cgroup_can_be_thread_root(dst_cgrp) || cgroup_is_threaded(dst_cgrp))
return 0;
...
}
but in fact the entry of cgroup_can_be_thread_root() covers case that
checking cgroup_is_mixable() as following:
static bool cgroup_can_be_thread_root(struct cgroup *cgrp)
{
/* mixables don't care */
if (cgroup_is_mixable(cgrp))
return true;
...
}
so explicitly checking in cgroup_migrate_vet_dst is unnecessary.
Signed-off-by: Lin Feng <[email protected]>
---
kernel/cgroup/cgroup.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
index 1779ccddb734..ad4aa08ec988 100644
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -2570,10 +2570,6 @@ int cgroup_migrate_vet_dst(struct cgroup *dst_cgrp)
if (!cgroup_is_valid_domain(dst_cgrp->dom_cgrp))
return -EOPNOTSUPP;
- /* mixables don't care */
- if (cgroup_is_mixable(dst_cgrp))
- return 0;
-
/*
* If @dst_cgrp is already or can become a thread root or is
* threaded, it doesn't matter.
--
2.31.1
On Tue, Jun 21, 2022 at 05:23:58PM +0800, Lin Feng <[email protected]> wrote:
> so explicitly checking in cgroup_migrate_vet_dst is unnecessary.
Good catch.
Reviewed-by: Michal Koutn? <[email protected]>
On Tue, Jun 21, 2022 at 05:23:58PM +0800, Lin Feng wrote:
...
> so explicitly checking in cgroup_migrate_vet_dst is unnecessary.
>
> Signed-off-by: Lin Feng <[email protected]>
Applied to cgroup/for-5.20.
Thanks.
--
tejun