• Tejun Heo's avatar
    cgroup_freezer: don't use cgroup_lock_live_group() · ead5c473
    Tejun Heo authored
    freezer_read/write() used cgroup_lock_live_group() to synchronize
    against task migration into and out of the target cgroup.
    cgroup_lock_live_group() grabs the internal cgroup lock and using it
    from outside cgroup core leads to complex and fragile locking
    dependency issues which are difficult to resolve.
    
    Now that freezer_can_attach() is replaced with freezer_attach() and
    update_if_frozen() updated, nothing requires excluding migration
    against freezer state reads and changes.
    
    This patch removes cgroup_lock_live_group() and the matching
    cgroup_unlock() usages.  The prone-to-bitrot, already outdated and
    unnecessary global lock hierarchy documentation is replaced with
    documentation in local scope.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Cc: Oleg Nesterov <oleg@redhat.com>
    Cc: Rafael J. Wysocki <rjw@sisk.pl>
    Cc: Li Zefan <lizefan@huawei.com>
    ead5c473
cgroup_freezer.c 8.06 KB