From: Li Zefan <lizf@cn.fujitsu.com>
To: Matt Helsley <matthltc@us.ibm.com>
Cc: "akpm >> Andrew Morton" <akpm@linux-foundation.org>,
Paul Menage <menage@google.com>,
Stephane Eranian <eranian@google.com>,
LKML <linux-kernel@vger.kernel.org>,
containers@lists.linux-foundation.org
Subject: Re: [PATCH 5/7] cgroups: Make freezer subsystem bindable
Date: Mon, 25 Oct 2010 09:15:36 +0800 [thread overview]
Message-ID: <4CC4DA38.6000907@cn.fujitsu.com> (raw)
In-Reply-To: <20101022205755.GJ10119@count0.beaverton.ibm.com>
Matt Helsley wrote:
> On Fri, Oct 22, 2010 at 04:11:41PM +0800, Li Zefan wrote:
>> To make it bindable, we need to thaw all processes when unbinding
>> the freezer subsystem from a cgroup hierarchy.
>>
>> Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
>
> Based on experience using cgroups and questions we've fielded in the
> past on IRC I'd say users will really appreciate this.
>
> We're planning to use the freezer in checkpoint/restart. Since
> checkpoint requires the tasks to remain frozen for the duration of
> the syscall we add a kernel-internal freezer subsystem interface
> which prevents the cgroup from thawing. So we'll need some way to
> "block" unbinding for that as well.
>
How about, we allow unbinding only when all the cgroups' state is
THAWED ?
> Perhaps the bind op should be able to return an error when
> unbind == true? Although that raises the question of what to do if
> only one of multiple unbinds fails..
>
> Alternately you could split the bind/unbind op function pointers
> and get rid of the boolean argument. Then just don't fill in the
> freezer's unbind op and refuse to unbind subsystems that lack
> the unbind op. That seems a bit cleaner for now at least.
>
We can use bindable:1 along with a callback can_bind().
For some subsystems, we just set bindable to true. For freezer subsystem,
we set it to true and provide freezer_can_bind(), and return true only
if no cgroup's state is FROZEN.
next prev parent reply other threads:[~2010-10-25 1:14 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-22 8:09 [PATCH 0/7] cgroups: Allow to bind/unbind subsystems to/from non-trival hierarchy Li Zefan
[not found] ` <4CC146A4.9090505-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2010-10-22 8:09 ` [PATCH 1/7] cgroups: Shrink struct cgroup_subsys Li Zefan
2010-10-22 8:09 ` [PATCH 2/7] cgroups: Allow to bind a subsystem to a cgroup hierarchy Li Zefan
2010-10-22 8:09 ` Li Zefan
2010-10-22 12:47 ` Peter Zijlstra
2010-10-25 0:59 ` Li Zefan
2010-10-25 0:59 ` Li Zefan
2010-10-22 21:38 ` Matt Helsley
2010-10-28 23:57 ` Paul Menage
[not found] ` <20101022213819.GK10119-52DBMbEzqgQ/wnmkkaCWp/UQ3DHhIser@public.gmane.org>
2010-10-25 1:23 ` Li Zefan
2010-10-25 1:23 ` Li Zefan
2010-10-28 23:57 ` Paul Menage
[not found] ` <4CC146D4.7030009-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2010-10-22 12:47 ` Peter Zijlstra
2010-10-22 21:38 ` Matt Helsley
2010-10-28 23:55 ` Paul Menage
2010-10-28 23:55 ` Paul Menage
[not found] ` <AANLkTimCD90s+y_6y=LyOL1QqEOOAaT+b2b4guDrzo_g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-11-08 5:26 ` Li Zefan
2010-11-08 5:26 ` Li Zefan
2010-10-22 8:10 ` [PATCH 3/7] cgroups: Allow to unbind subsystem from a cgroup hierarachy Li Zefan
2010-10-22 8:11 ` [PATCH 4/7] cgroups: Mark some subsystems bindable Li Zefan
2010-10-22 8:11 ` [PATCH 5/7] cgroups: Make freezer subsystem bindable Li Zefan
2010-10-22 8:12 ` [PATCH 6/7] cgroups: Warn if a bindable subsystem calls css_get() Li Zefan
2010-10-22 8:12 ` [PATCH 7/7] cgroups: Update documentation for bindable subsystems Li Zefan
2010-10-22 12:50 ` [PATCH 0/7] cgroups: Allow to bind/unbind subsystems to/from non-trival hierarchy Peter Zijlstra
2010-10-22 8:09 ` [PATCH 1/7] cgroups: Shrink struct cgroup_subsys Li Zefan
2010-10-28 23:34 ` Paul Menage
2010-11-08 5:23 ` Li Zefan
2010-11-09 21:05 ` Paul Menage
2010-11-10 0:52 ` Li Zefan
2010-11-10 1:53 ` Paul Menage
2010-11-10 2:06 ` Li Zefan
2010-11-10 2:15 ` Paul Menage
[not found] ` <4CD9FE2D.2070108-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2010-11-10 2:15 ` Paul Menage
[not found] ` <AANLkTinMr7VE4Os7rXWjiHWOVysv=oE0vHKduLWCN0bC-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-11-10 2:06 ` Li Zefan
[not found] ` <4CD9ECD2.3030805-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2010-11-10 1:53 ` Paul Menage
[not found] ` <AANLkTim6d1fQLZbkmZST3PTN0RMSs3m=oossF81pYBn9-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-11-10 0:52 ` Li Zefan
[not found] ` <4CD78946.5060405-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2010-11-09 21:05 ` Paul Menage
[not found] ` <AANLkTikf-1kLStxqi5UjP=vn3pqVBHy0OA7ibeWTkJ5z-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-11-08 5:23 ` Li Zefan
[not found] ` <4CC146BA.7080009-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2010-10-28 23:34 ` Paul Menage
2010-10-22 8:10 ` [PATCH 3/7] cgroups: Allow to unbind subsystem from a cgroup hierarachy Li Zefan
2010-10-29 0:02 ` Paul Menage
[not found] ` <4CC146F5.9060006-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2010-10-29 0:02 ` Paul Menage
2010-10-22 8:11 ` [PATCH 4/7] cgroups: Mark some subsystems bindable Li Zefan
2010-10-22 8:11 ` [PATCH 5/7] cgroups: Make freezer subsystem bindable Li Zefan
[not found] ` <4CC1473D.9070201-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2010-10-22 20:57 ` Matt Helsley
2010-10-22 20:57 ` Matt Helsley
2010-10-22 21:46 ` Matt Helsley
2010-10-29 0:06 ` Paul Menage
[not found] ` <20101022214650.GL10119-52DBMbEzqgQ/wnmkkaCWp/UQ3DHhIser@public.gmane.org>
2010-10-29 0:06 ` Paul Menage
2010-10-22 21:57 ` Matt Helsley
2010-10-25 1:15 ` Li Zefan [this message]
[not found] ` <20101022205755.GJ10119-52DBMbEzqgQ/wnmkkaCWp/UQ3DHhIser@public.gmane.org>
2010-10-22 21:46 ` Matt Helsley
2010-10-22 21:57 ` Matt Helsley
2010-10-25 1:15 ` Li Zefan
2010-10-22 8:12 ` [PATCH 6/7] cgroups: Warn if a bindable subsystem calls css_get() Li Zefan
2010-10-29 0:05 ` Paul Menage
[not found] ` <4CC14756.5010504-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2010-10-29 0:05 ` Paul Menage
2010-10-22 8:12 ` [PATCH 7/7] cgroups: Update documentation for bindable subsystems Li Zefan
2010-10-25 0:36 ` KAMEZAWA Hiroyuki
2010-10-25 0:52 ` Li Zefan
[not found] ` <4CC4D4B9.3020807-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2010-10-25 0:56 ` Li Zefan
2010-10-25 0:56 ` Li Zefan
[not found] ` <20101025093617.7de750c0.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2010-10-25 0:52 ` Li Zefan
2010-10-29 0:13 ` Paul Menage
2010-10-29 0:15 ` Paul Menage
[not found] ` <AANLkTinbtLkF=haFeDkzecEWv_FE9jG4TefiptSnZcPi-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-10-29 0:15 ` Paul Menage
2010-11-08 5:27 ` Li Zefan
2010-11-08 5:27 ` Li Zefan
[not found] ` <4CC14769.2000406-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2010-10-25 0:36 ` KAMEZAWA Hiroyuki
2010-10-29 0:13 ` Paul Menage
2010-10-22 12:50 ` [PATCH 0/7] cgroups: Allow to bind/unbind subsystems to/from non-trival hierarchy Peter Zijlstra
2010-10-25 1:07 ` Li Zefan
2010-10-28 23:33 ` Paul Menage
[not found] ` <4CC4D84C.5000705-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2010-10-28 23:33 ` Paul Menage
2010-10-25 1:07 ` 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=4CC4DA38.6000907@cn.fujitsu.com \
--to=lizf@cn.fujitsu.com \
--cc=akpm@linux-foundation.org \
--cc=containers@lists.linux-foundation.org \
--cc=eranian@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=matthltc@us.ibm.com \
--cc=menage@google.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.