All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Glauber Costa <glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Michal Hocko <mhocko-AlSwsSmVLrQ@public.gmane.org>,
	hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org,
	cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org
Subject: Re: [PATCH 2/8] cgroup: kill CSS_REMOVED
Date: Wed, 31 Oct 2012 10:25:22 -0700	[thread overview]
Message-ID: <20121031172522.GJ2945@htj.dyndns.org> (raw)
In-Reply-To: <50915DB7.5020706-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>

Hello,

On Wed, Oct 31, 2012 at 09:19:51PM +0400, Glauber Costa wrote:
> I don't see post_create failing as a huge problem. The natural
> synchronization point would be "right after post_create" - then you can
> definitely tell that it is online. Although this can be viewed a bit as
> "exposing internals", creating is different then destroying: When you
> create, you may not have all data yet. When destroying, you do - and
> want to get rid of it. So this kind of bootstrapping is pretty standard
> and common.

More proper names for these callbacks would be,

	->allocate()
	->online()
	->offline()
	->free()

And I may rename them.  I don't wanna make ->online() failable.  Why
can't you just allocate everything from ->allocate() and use it from
->online()?

Thanks.

-- 
tejun

WARNING: multiple messages have this Message-ID (diff)
From: Tejun Heo <tj@kernel.org>
To: Glauber Costa <glommer@parallels.com>
Cc: Michal Hocko <mhocko@suse.cz>,
	lizefan@huawei.com, hannes@cmpxchg.org, bsingharora@gmail.com,
	kamezawa.hiroyu@jp.fujitsu.com,
	containers@lists.linux-foundation.org, cgroups@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/8] cgroup: kill CSS_REMOVED
Date: Wed, 31 Oct 2012 10:25:22 -0700	[thread overview]
Message-ID: <20121031172522.GJ2945@htj.dyndns.org> (raw)
In-Reply-To: <50915DB7.5020706@parallels.com>

Hello,

On Wed, Oct 31, 2012 at 09:19:51PM +0400, Glauber Costa wrote:
> I don't see post_create failing as a huge problem. The natural
> synchronization point would be "right after post_create" - then you can
> definitely tell that it is online. Although this can be viewed a bit as
> "exposing internals", creating is different then destroying: When you
> create, you may not have all data yet. When destroying, you do - and
> want to get rid of it. So this kind of bootstrapping is pretty standard
> and common.

More proper names for these callbacks would be,

	->allocate()
	->online()
	->offline()
	->free()

And I may rename them.  I don't wanna make ->online() failable.  Why
can't you just allocate everything from ->allocate() and use it from
->online()?

Thanks.

-- 
tejun

  parent reply	other threads:[~2012-10-31 17:25 UTC|newest]

Thread overview: 130+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-31  4:22 [PATCHSET] cgroup: simplify cgroup removal path Tejun Heo
2012-10-31  4:22 ` Tejun Heo
     [not found] ` <1351657365-25055-1-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-10-31  4:22   ` [PATCH 1/8] cgroup: kill cgroup_subsys->__DEPRECATED_clear_css_refs Tejun Heo
2012-10-31  4:22     ` Tejun Heo
     [not found]     ` <1351657365-25055-2-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-10-31 13:21       ` Glauber Costa
2012-10-31 13:21         ` Glauber Costa
     [not found]         ` <509125D9.8070100-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-31 16:38           ` Tejun Heo
2012-10-31 16:38             ` Tejun Heo
2012-10-31 13:21       ` Glauber Costa
2012-10-31 14:37       ` Michal Hocko
2012-10-31 14:37       ` Michal Hocko
2012-10-31 14:37         ` Michal Hocko
     [not found]         ` <20121031143751.GA22809-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-10-31 16:41           ` Tejun Heo
2012-10-31 16:41           ` Tejun Heo
2012-10-31 16:41             ` Tejun Heo
     [not found]             ` <20121031164123.GD2945-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2012-10-31 16:48               ` Michal Hocko
2012-10-31 16:48                 ` Michal Hocko
     [not found]                 ` <20121031164855.GI22809-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-10-31 17:22                   ` Tejun Heo
2012-10-31 17:22                     ` Tejun Heo
2012-11-02  9:23       ` Kamezawa Hiroyuki
2012-11-02  9:23         ` Kamezawa Hiroyuki
2012-11-02  9:23       ` Kamezawa Hiroyuki
2012-10-31  4:22   ` [PATCH 2/8] cgroup: kill CSS_REMOVED Tejun Heo
2012-10-31  4:22     ` Tejun Heo
     [not found]     ` <1351657365-25055-3-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-10-31 15:39       ` Michal Hocko
2012-10-31 15:39       ` Michal Hocko
2012-10-31 15:39         ` Michal Hocko
     [not found]         ` <20121031153926.GC22809-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-10-31 16:57           ` Tejun Heo
2012-10-31 16:57             ` Tejun Heo
     [not found]             ` <20121031165739.GE2945-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2012-10-31 17:06               ` Glauber Costa
2012-10-31 17:06                 ` Glauber Costa
     [not found]                 ` <50915A87.4070504-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-31 17:10                   ` Tejun Heo
2012-10-31 17:10                     ` Tejun Heo
     [not found]                     ` <CAOS58YP=CjTPFdETLRXnc3gXEzX2=EEe2dMdSh3Eov7zRfV4Qg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-10-31 17:19                       ` Glauber Costa
2012-10-31 17:19                         ` Glauber Costa
     [not found]                         ` <50915DB7.5020706-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-31 17:25                           ` Tejun Heo [this message]
2012-10-31 17:25                             ` Tejun Heo
     [not found]                             ` <20121031172522.GJ2945-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2012-10-31 17:38                               ` Glauber Costa
2012-10-31 17:38                                 ` Glauber Costa
     [not found]                                 ` <50916218.3090301-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-31 17:44                                   ` Tejun Heo
2012-10-31 17:44                                     ` Tejun Heo
2012-10-31 17:39                               ` Glauber Costa
2012-10-31 17:39                                 ` Glauber Costa
2012-10-31 19:16               ` Michal Hocko
2012-10-31 19:16                 ` Michal Hocko
     [not found]                 ` <20121031191602.GB1271-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-10-31 19:33                   ` Tejun Heo
2012-10-31 19:33                     ` Tejun Heo
2012-11-02  9:30       ` Kamezawa Hiroyuki
2012-11-02  9:30         ` Kamezawa Hiroyuki
2012-10-31  4:22   ` [PATCH 3/8] cgroup: use cgroup_lock_live_group(parent) in cgroup_create() Tejun Heo
2012-10-31  4:22     ` Tejun Heo
     [not found]     ` <1351657365-25055-4-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-10-31 15:55       ` Michal Hocko
2012-10-31 15:55         ` Michal Hocko
     [not found]         ` <20121031155514.GD22809-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-10-31 17:04           ` Tejun Heo
2012-10-31 17:04           ` Tejun Heo
2012-10-31 17:04             ` Tejun Heo
     [not found]             ` <20121031170431.GF2945-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2012-11-01  9:16               ` Michal Hocko
2012-11-01  9:16                 ` Michal Hocko
     [not found]                 ` <20121101091644.GA8533-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-11-01 14:52                   ` Tejun Heo
2012-11-01 14:52                     ` Tejun Heo
     [not found]                     ` <CAOS58YM+kRtspVUzmnSmOmrDoNS_kF6KA02zWGxqH5FUcRWo1Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-11-01 15:05                       ` Michal Hocko
2012-11-01 15:05                         ` Michal Hocko
     [not found]                         ` <20121101150532.GA5065-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-11-01 15:15                           ` Michal Hocko
2012-11-01 15:15                             ` Michal Hocko
     [not found]                             ` <20121101151556.GB5065-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-11-01 15:43                               ` Tejun Heo
2012-11-01 15:43                                 ` Tejun Heo
2012-11-01 15:15                           ` Michal Hocko
2012-11-01 15:05                       ` Michal Hocko
2012-11-02  9:37       ` Kamezawa Hiroyuki
2012-11-02  9:37         ` Kamezawa Hiroyuki
2012-10-31  4:22   ` Tejun Heo
2012-10-31  4:22   ` [PATCH 4/8] cgroup: deactivate CSS's and mark cgroup dead before invoking ->pre_destroy() Tejun Heo
2012-10-31  4:22     ` Tejun Heo
     [not found]     ` <1351657365-25055-5-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-10-31 13:42       ` Glauber Costa
2012-10-31 13:42         ` Glauber Costa
2012-10-31 16:05       ` Michal Hocko
2012-10-31 16:05         ` Michal Hocko
2012-11-02  9:43       ` Kamezawa Hiroyuki
2012-11-02  9:43         ` Kamezawa Hiroyuki
2012-10-31  4:22   ` [PATCH 5/8] cgroup: remove CGRP_WAIT_ON_RMDIR, cgroup_exclude_rmdir() and cgroup_release_and_wakeup_rmdir() Tejun Heo
2012-10-31  4:22     ` Tejun Heo
     [not found]     ` <1351657365-25055-6-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-10-31 16:27       ` Michal Hocko
2012-10-31 16:27         ` Michal Hocko
     [not found]         ` <20121031162735.GF22809-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-10-31 17:16           ` Tejun Heo
2012-10-31 17:16             ` Tejun Heo
2012-11-02  9:53       ` Kamezawa Hiroyuki
2012-11-02  9:53         ` Kamezawa Hiroyuki
2012-10-31  4:22   ` [PATCH 6/8] memcg: make mem_cgroup_reparent_charges non failing Tejun Heo
2012-10-31  4:22     ` Tejun Heo
     [not found]     ` <1351657365-25055-7-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-11-02  9:54       ` Kamezawa Hiroyuki
2012-11-02  9:54         ` Kamezawa Hiroyuki
2012-10-31  4:22   ` [PATCH 7/8] hugetlb: do not fail in hugetlb_cgroup_pre_destroy Tejun Heo
2012-10-31  4:22     ` Tejun Heo
     [not found]     ` <1351657365-25055-8-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-11-02  9:56       ` Kamezawa Hiroyuki
2012-11-02  9:56         ` Kamezawa Hiroyuki
2012-11-02  9:56       ` Kamezawa Hiroyuki
2012-10-31  4:22   ` [PATCH 8/8] cgroup: make ->pre_destroy() return void Tejun Heo
2012-10-31  4:22     ` Tejun Heo
     [not found]     ` <1351657365-25055-9-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-10-31 13:57       ` Vivek Goyal
2012-10-31 13:57         ` Vivek Goyal
2012-10-31 16:28       ` Michal Hocko
2012-10-31 16:28         ` Michal Hocko
2012-11-02  9:57       ` Kamezawa Hiroyuki
2012-11-02  9:57         ` Kamezawa Hiroyuki
2012-10-31 13:49   ` [PATCHSET] cgroup: simplify cgroup removal path Glauber Costa
2012-10-31 13:49     ` Glauber Costa
     [not found]     ` <50912C6D.6020000-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-31 17:18       ` Tejun Heo
2012-10-31 17:18         ` Tejun Heo
     [not found]         ` <20121031171849.GH2945-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2012-10-31 17:24           ` Glauber Costa
2012-10-31 17:24           ` Glauber Costa
2012-10-31 17:24             ` Glauber Costa
     [not found]             ` <50915EB6.3060704-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-31 17:26               ` Tejun Heo
2012-10-31 17:26                 ` Tejun Heo
     [not found]                 ` <20121031172617.GK2945-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2012-10-31 17:33                   ` Glauber Costa
2012-10-31 17:33                     ` Glauber Costa
2012-10-31 16:31   ` Michal Hocko
2012-10-31 16:31     ` Michal Hocko
     [not found]     ` <20121031163134.GH22809-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-10-31 16:35       ` Tejun Heo
2012-10-31 16:35         ` Tejun Heo
  -- strict thread matches above, loose matches on Subject: below --
2012-10-31 18:16 [PATCHSET v2] " Tejun Heo
     [not found] ` <1351707391-22287-1-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-10-31 18:16   ` [PATCH 2/8] cgroup: kill CSS_REMOVED Tejun Heo
2012-10-31 18:16     ` Tejun Heo
2012-10-31 19:44 [PATCHSET RESEND v2] cgroup: simplify cgroup removal path Tejun Heo
     [not found] ` <1351712650-23709-1-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-10-31 19:44   ` [PATCH 2/8] cgroup: kill CSS_REMOVED Tejun Heo
2012-10-31 19:44   ` Tejun Heo
2012-10-31 19:44     ` Tejun Heo
     [not found]     ` <1351712650-23709-3-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-11-02 10:02       ` Kamezawa Hiroyuki
2012-11-02 10:02       ` Kamezawa Hiroyuki
2012-11-02 10:02         ` Kamezawa Hiroyuki
2012-11-05  5:33       ` Li Zefan
2012-11-05  5:33       ` Li Zefan
2012-11-05  5:33         ` Li Zefan

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=20121031172522.GJ2945@htj.dyndns.org \
    --to=tj-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
    --cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org \
    --cc=hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mhocko-AlSwsSmVLrQ@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.