mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Matt Helsley <matthltc@us.ibm.com>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>,
	Cedric Le Goater <clg@fr.ibm.com>,
	Linux Containers <containers@lists.linux-foundation.org>,
	Paul Menage <menage@google.com>,
	Linux-Kernel <linux-kernel@vger.kernel.org>,
	Pavel Machek <pavel@ucw.cz>,
	linux-pm@lists.linux-foundation.org
Subject: Re: [PATCH 0/4] Container Freezer: Reuse Suspend Freezer
Date: Tue, 08 Jul 2008 12:39:14 -0700	[thread overview]
Message-ID: <1215545954.9023.120.camel@localhost.localdomain> (raw)
In-Reply-To: <20080708123150.3034d83f.kamezawa.hiroyu@jp.fujitsu.com>


Cedric was accidentally not Cc'd on the introduction (PATCH 0). Adding
him.

On Tue, 2008-07-08 at 12:31 +0900, KAMEZAWA Hiroyuki wrote:
> Hi, could I make brief questions ?
> 
> On Mon, 07 Jul 2008 15:58:23 -0700
> Matt Helsley <matthltc@us.ibm.com> wrote:
> > to get status of the freezer subsystem :
> > 
> >    # cat /containers/0/freezer.state
> >    RUNNING
> > 
> > to freeze all tasks in the container :
> > 
> >    # echo FROZEN > /containers/0/freezer.state
> >    # cat /containers/0/freezer.state
> >    FREEZING
> >    # cat /containers/0/freezer.state
> >    FROZEN
> > 
> I'm just curious.
> 
> 1. When we see FREEZING and have to retry ?

One example is when some processes are in the a specific portion of
vfork() you might see FREEZING and have to retry.

>    While there are some threads which wait for some event ?

Depending on which kind of "wait" they are performing, yes. If it's
uninterruptible sleep and the PF_FROZEN flag is not set then you might
see FREEZING.

> 2. What happens when FROZEN threads are moved to other group ?
>    Can we move them ?

If the destination cgroup is not FROZEN, yes.

If the destination cgroup is FREEZING this works as expected.

If the destination cgroup is RUNNING you'd have a problem unfreezing the
task. This happends because the cgroup has a state inconsistent with the
task's state. To unfreeze the task you'd have to try to freeze and then
unfreeze the destination cgroup. 

There are several ways I could change this.

One is to try and disallow users from moving frozen tasks. That doesn't
seem like a good approach since it would require a new cgroups interface
"can_detach()". 

However we can prevent attach so I could add checks that look at the
attaching tasks's state and refuse the attach when the task's state
(unfrozen, frozen) is inconsistent with the cgroup state (RUNNING,
FREEZING, FROZEN). I'll send a fifth patch on top of this series showing
this idea.

Rather than refuse to allow attach we could change the destination
cgroup's state during attach so that the two states are consistent.
However, this introduces more ugly cases for userspace to be aware of.

>    Can we wake them up (if it can be moved) ?

You can't wake them until you've unfrozen them.

>    What operations are allowed to frozen threads ?

Any operation that doesn't require the threads to run.

Cheers,
	-Matt Helsley


  reply	other threads:[~2008-07-08 19:57 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-07 22:58 Matt Helsley
2008-07-07 22:58 ` [PATCH 1/4] Container Freezer: Add TIF_FREEZE flag to all architectures Matt Helsley
2008-07-07 22:58 ` [PATCH 2/4] Container Freezer: Make refrigerator always available Matt Helsley
2008-07-09 19:21   ` Serge E. Hallyn
2008-07-07 22:58 ` [PATCH 3/4] Container Freezer: Implement freezer cgroup subsystem Matt Helsley
2008-07-07 22:58 ` [PATCH 4/4] Container Freezer: Skip frozen cgroups during power management resume Matt Helsley
2008-07-07 23:02 ` [PATCH 0/4] Container Freezer: Reuse Suspend Freezer Matt Helsley
2008-07-08  3:31 ` KAMEZAWA Hiroyuki
2008-07-08 19:39   ` Matt Helsley [this message]
2008-07-08 20:06     ` Paul Menage
2008-07-08 20:07       ` Paul Menage
2008-07-09 21:58         ` Matt Helsley
2008-07-10  0:42           ` KAMEZAWA Hiroyuki
2008-07-10  2:18             ` [RFC][PATCH] Container Freezer: Don't Let Frozen Stuff Change Matt Helsley
2008-07-10  3:20               ` Li Zefan
2008-07-11 23:51                 ` Matt Helsley
2008-07-10 14:40             ` [PATCH 0/4] Container Freezer: Reuse Suspend Freezer Serge E. Hallyn
  -- strict thread matches above, loose matches on Subject: below --
2008-06-24 13:58 [patch " Matt Helsley
     [not found] <20080403001529.052250759@us.ibm.com>
2008-04-03  0:19 ` [PATCH " Matt Helsley

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=1215545954.9023.120.camel@localhost.localdomain \
    --to=matthltc@us.ibm.com \
    --cc=clg@fr.ibm.com \
    --cc=containers@lists.linux-foundation.org \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=menage@google.com \
    --cc=pavel@ucw.cz \
    --cc=rjw@sisk.pl \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome