Skip to content
  • Tejun Heo's avatar
    cgroup: remove cgroup->name · e61734c5
    Tejun Heo authored
    cgroup->name handling became quite complicated over time involving
    dedicated struct cgroup_name for RCU protection.  Now that cgroup is
    on kernfs, we can drop all of it and simply use kernfs_name/path() and
    friends.  Replace cgroup->name and all related code with kernfs
    name/path constructs.
    
    * Reimplement cgroup_name() and cgroup_path() as thin wrappers on top
      of kernfs counterparts, which involves semantic changes.
      pr_cont_cgroup_name() and pr_cont_cgroup_path() added.
    
    * cgroup->name handling dropped from cgroup_rename().
    
    * All users of cgroup_name/path() updated to the new semantics.  Users
      which were formatting the string just to printk them are converted
      to use pr_cont_cgroup_name/path() instead, which simplifies things
      quite a bit.  As cgroup_name() no longer requires RCU read lock
      around it, RCU lockings which were protecting only cgroup_name() are
      removed.
    
    v2: Comment above oom_info_lock updated as suggested by Michal.
    
    v3: dummy_top doesn't have a kn associated and
        pr_cont_cgroup_name/path() ended up calling the matching kernfs
        functions with NULL kn leading to oops.  Test for NULL kn and
        print "/" if so.  This issue was reported by Fengguang Wu.
    
    v4: Rebased on top of 0ab02ca8
    
     ("cgroup: protect modifications to
        cgroup_idr with cgroup_mutex").
    
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Acked-by: default avatarPeter Zijlstra <peterz@infradead.org>
    Acked-by: default avatarMichal Hocko <mhocko@suse.cz>
    Acked-by: default avatarLi Zefan <lizefan@huawei.com>
    Cc: Fengguang Wu <fengguang.wu@intel.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Balbir Singh <bsingharora@gmail.com>
    Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    e61734c5