All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: Cyrill Gorcunov <gorcunov@gmail.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Li Zefan <lizf@cn.fujitsu.com>,
	Matt Helsley <matthltc@us.ibm.com>,
	Andrey Vagin <avagin@openvz.org>,
	Pavel Emelyanov <xemul@parallels.com>
Subject: Re: [RFC] cgroups: freezer -- Allow to attach a task to a frozen cgroup
Date: Mon, 28 Nov 2011 08:08:44 -0800	[thread overview]
Message-ID: <20111128160844.GB18864@google.com> (raw)
In-Reply-To: <20111128120813.GK1775@moon>

On Mon, Nov 28, 2011 at 04:08:13PM +0400, Cyrill Gorcunov wrote:
> In checkpoint/restore we need an ability to attach pids to
> a frozen cgroup. Thus once pid reaches a frozen cgroup it is
> not rejected, but the task get frozen immediately.
> 
> Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
> ---
> 
> I would really appreciate complains and comments.

First of all, both freezer and cgroup have non-trivial pending
patchsets (e.g. ->can_attach_task() is scheduled for removal) and I
have changes which basically try to achieve about the same thing, so
let's slow down a bit.  I think the problem is a bit more complex.

Some thoughts I have on cgroup freezer ATM,

* Currently, FROZEN -> FREEZING transition isn't possible.  That's why
  event transition detection by polling is acceptable.  ie. once the
  state is polled to be FROZEN, it stays frozen.  Allowing FREEZING ->
  FROZEN transition would probably require improvements to state
  transition notification too, at the very least, clarification of
  rules.

* There are some unclear corner cases and bugs the current cgroup
  freezer has.  e.g. behavior w.r.t. kthreads is outright buggy.  It
  would be great to figure out how to deal with them with or before
  this change (ie. what happens when you transfer unfreezable
  kthreads).

* A pending feature request is making the freezing action atomically
  recursive.  We'll probably need to add a param to allow choosing
  which behavior to take.

* Another improvement that I want to have is allowing cgroup frozen
  tasks to be killed.  I don't think this matters for system freezer
  but for cgroup freezer both oom killer and systemd want it.

So, while I agree with the direction of this patch, I think this
definitely needs a lot more work to go in.  I don't think we can do
much until the freezer and cgroup changes are settled.  The freezer
part is now in Rafael's tree, the cgroup part is going under Linus'
review.  Once they're complete, I'll provide a merged branch that
further cgroup works can be based on.

Thanks.

-- 
tejun

  parent reply	other threads:[~2011-11-28 16:08 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-28 12:08 [RFC] cgroups: freezer -- Allow to attach a task to a frozen cgroup Cyrill Gorcunov
2011-11-28 13:10 ` Andrey Vagin
2011-11-28 13:38   ` Cyrill Gorcunov
2011-11-28 14:03     ` Andrew Vagin
2011-11-28 15:00       ` Cyrill Gorcunov
2011-11-28 15:43         ` Andrew Wagin
2011-11-28 16:08 ` Tejun Heo [this message]
2011-11-28 16:31   ` Cyrill Gorcunov
2011-11-29 22:58   ` Matt Helsley
2011-11-29 23:19     ` Tejun Heo
2011-11-30  6:48     ` Cyrill Gorcunov

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=20111128160844.GB18864@google.com \
    --to=tj@kernel.org \
    --cc=avagin@openvz.org \
    --cc=gorcunov@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizf@cn.fujitsu.com \
    --cc=matthltc@us.ibm.com \
    --cc=xemul@parallels.com \
    /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.