Messages in this thread | | | Date | Thu, 8 Nov 2012 09:17:42 -0800 | From | Tejun Heo <> | Subject | Re: [PATCH 8/9] cgroup_freezer: add ->post_create() and ->pre_destroy() and track online state |
| |
Hello,
On Thu, Nov 08, 2012 at 02:23:06PM +0100, Michal Hocko wrote: > On Sat 03-11-12 01:38:34, Tejun Heo wrote: > > A cgroup is online and visible to iteration between ->post_create() > > and ->pre_destroy(). This patch introduces CGROUP_FREEZER_ONLINE and > > toggles it from the newly added freezer_post_create() and > > freezer_pre_destroy() while holding freezer->lock such that a > > cgroup_freezer can be reilably distinguished to be online. This will > > be used by full hierarchy support. > > I am thinking whether freezer_pre_destroy is really needed. Once we > reach pre_destroy then there are no tasks nor any children in the group > so there is nobody to wake up if the group was frozen and the destroy > callback is called after synchronize_rcu so the traversing should be > safe.
Yeah, it might be true, but I'd still like to keep the offlining in ->pre_destroy() so that it's symmetrical w/ ->post_create(). I'll rename and document the ops so that the roles of each are clearer.
Thanks.
-- tejun
| |