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(-) Thanks. -- tejun [1] http://lkml.kernel.org/g/1397056052-2829-1-git-send-email...@kernel.org [2] http://lkml.kernel.org/g/1397748555-6647-1-git-send-email-nasa4...@gmail.com http://lkml.kernel.org/g/1397748544-6570-1-git-send-email-nasa4...@gmail.com http://lkml.kernel.org/g/1397748534-6490-1-git-send-email-nasa4...@gmail.com http://lkml.kernel.org/g/1397757955.3104.11.camel@joe-AO725 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/