• Tejun Heo's avatar
    cgroup: prepare migration path for unified hierarchy · f817de98
    Tejun Heo authored
    Unified hierarchy implementation would require re-migrating tasks onto
    the same cgroup on the default hierarchy to reflect updated effective
    csses.  Update cgroup_migrate_prepare_dst() so that it accepts NULL as
    the destination cgrp.  When NULL is specified, the destination is
    considered to be the cgroup on the default hierarchy associated with
    each css_set.
    
    After this change, the identity check in cgroup_migrate_add_src()
    isn't sufficient for noop detection as the associated csses may change
    without any cgroup association changing.  The only way to tell whether
    a migration is noop or not is testing whether the source and
    destination csets are identical.  The noop check in
    cgroup_migrate_add_src() is removed and cset identity test is added to
    cgroup_migreate_prepare_dst().  If it's detected that source and
    destination csets are identical, the cset is removed removed from
    @preloaded_csets and all the migration nodes are cleared which makes
    cgroup_migrate() ignore the cset.
    
    Also, make the function append the destination css_sets to
    @preloaded_list so that destination css_sets always come after source
    css_sets.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Acked-by: default avatarLi Zefan <lizefan@huawei.com>
    f817de98
cgroup.c 133 KB