Re: [PATCHSET cgroup/for-3.16] cgroup: implement css->id
From: Li Zefan
Date: Sun May 04 2014 - 02:08:23 EST
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 linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/