All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: lizefan-hv44wF8Li93QT0dZR+AlfA@public.gmane.org
Cc: cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org,
	mhocko-AlSwsSmVLrQ@public.gmane.org,
	nasa4836-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
Subject: [PATCHSET cgroup/for-3.16] cgroup: implement css->id
Date: Thu, 24 Apr 2014 17:02:07 -0400	[thread overview]
Message-ID: <1398373333-1521-1-git-send-email-tj@kernel.org> (raw)

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-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
[2] http://lkml.kernel.org/g/1397748555-6647-1-git-send-email-nasa4836-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
    http://lkml.kernel.org/g/1397748544-6570-1-git-send-email-nasa4836-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
    http://lkml.kernel.org/g/1397748534-6490-1-git-send-email-nasa4836-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
    http://lkml.kernel.org/g/1397757955.3104.11.camel@joe-AO725

WARNING: multiple messages have this Message-ID (diff)
From: Tejun Heo <tj@kernel.org>
To: lizefan@huawei.com
Cc: cgroups@vger.kernel.org, linux-kernel@vger.kernel.org,
	hannes@cmpxchg.org, mhocko@suse.cz, nasa4836@gmail.com
Subject: [PATCHSET cgroup/for-3.16] cgroup: implement css->id
Date: Thu, 24 Apr 2014 17:02:07 -0400	[thread overview]
Message-ID: <1398373333-1521-1-git-send-email-tj@kernel.org> (raw)

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-tj@kernel.org
[2] http://lkml.kernel.org/g/1397748555-6647-1-git-send-email-nasa4836@gmail.com
    http://lkml.kernel.org/g/1397748544-6570-1-git-send-email-nasa4836@gmail.com
    http://lkml.kernel.org/g/1397748534-6490-1-git-send-email-nasa4836@gmail.com
    http://lkml.kernel.org/g/1397757955.3104.11.camel@joe-AO725

             reply	other threads:[~2014-04-24 21:02 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-24 21:02 Tejun Heo [this message]
2014-04-24 21:02 ` [PATCHSET cgroup/for-3.16] cgroup: implement css->id Tejun Heo
2014-04-24 21:02 ` [PATCH 1/6] cgroup: make flags and subsys_masks unsigned int Tejun Heo
2014-04-24 21:02 ` [PATCH 2/6] cgroup, memcg: allocate cgroup ID from 1 Tejun Heo
     [not found]   ` <1398373333-1521-3-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-04-30 13:11     ` Michal Hocko
2014-04-30 13:11       ` Michal Hocko
2014-04-24 21:02 ` [PATCH 3/6] cgroup: protect cgroup_root->cgroup_idr with a spinlock Tejun Heo
2014-04-24 21:02 ` [PATCH 4/6] cgroup: use RCU free in create_css() failure path Tejun Heo
2014-04-24 21:02 ` [PATCH 5/6] cgroup: update init_css() into init_and_link_css() Tejun Heo
     [not found] ` <1398373333-1521-1-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-04-24 21:02   ` [PATCH 6/6] cgroup, memcg: implement css->id and convert css_from_id() to use it Tejun Heo
2014-04-24 21:02     ` Tejun Heo
     [not found]     ` <1398373333-1521-7-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-04-28  3:33       ` Li Zefan
2014-04-28  3:33         ` Li Zefan
     [not found]         ` <535DCBFC.4000404-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-05-01 15:46           ` Tejun Heo
2014-05-01 15:46             ` Tejun Heo
     [not found]             ` <20140501154630.GG31611-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2014-05-04  6:02               ` Li Zefan
2014-05-04  6:02                 ` Li Zefan
2014-04-30 13:24       ` Michal Hocko
2014-04-30 13:24         ` Michal Hocko
2014-05-04  6:08   ` [PATCHSET cgroup/for-3.16] cgroup: implement css->id Li Zefan
2014-05-04  6:08     ` Li Zefan
2014-05-04 19:18   ` Tejun Heo
2014-05-04 19:18     ` Tejun Heo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1398373333-1521-1-git-send-email-tj@kernel.org \
    --to=tj-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
    --cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=lizefan-hv44wF8Li93QT0dZR+AlfA@public.gmane.org \
    --cc=mhocko-AlSwsSmVLrQ@public.gmane.org \
    --cc=nasa4836-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.