On 2014/4/25 5:02, Tejun Heo wrote: > Hello, > > Until now, cgroup->id has been used to identify all the associated > csses and css_from_id() takes cgroup ID and returns the matching css > by looking up the cgroup and then dereferencing the css associated > with it; however, now that the lifetimes of cgroup and css are > separate, this is incorrect and breaks on the unified hierarchy when a > controller is disabled and enabled back again before the previous > instance is released. > > This series adds css->id which is a subsystem-unique ID and converts > css_from_id() to look up by the new css->id instead. memcg is the > only user of css_from_id() and also converted to use css->id instead. > > 0001-cgroup-make-flags-and-subsys_masks-unsigned-int.patch > 0002-cgroup-memcg-allocate-cgroup-ID-from-1.patch > 0003-cgroup-protect-cgroup_root-cgroup_idr-with-a-spinloc.patch > 0004-cgroup-use-RCU-free-in-create_css-failure-path.patch > 0005-cgroup-update-init_css-into-init_and_link_css.patch > 0006-cgroup-memcg-implement-css-id-and-convert-css_from_i.patch > > 0001-0003 are related prep/cleanups. > > 0004-0006 add css->id and convert css_from_id() and its user to it. > > This patchset is on top of > > cgroup/for-3.16 f8f22e53a262 ("cgroup: implement dynamic subtree controller enable/disable on the default hierarchy") > + [1] [PATCHSET cgroup/for-3.16] cgroup: implement cgroup.populated > + [2] Misc comment / warning cleanups > > and available in the following git branch. > > git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git review-css_id > > diffstat follows. > > include/linux/cgroup.h | 21 ++++-- > kernel/cgroup.c | 164 ++++++++++++++++++++++++++++++++----------------- > mm/memcontrol.c | 10 -- > 3 files changed, 126 insertions(+), 69 deletions(-) > Acked-by: Li Zefan <lizefan@xxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe cgroups" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html