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
next prev 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.