From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Helsley Subject: Re: bugs with ckpt-v15-dev Date: Mon, 18 May 2009 18:09:11 -0700 Message-ID: <20090519010911.GD28083@us.ibm.com> References: <20090518211041.GA20781@us.ibm.com> <20090518225100.GC28083@us.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: Nathan Lynch Cc: Containers List-Id: containers.vger.kernel.org On Mon, May 18, 2009 at 06:21:22PM -0500, Nathan Lynch wrote: > Matt Helsley writes: > > > On Mon, May 18, 2009 at 04:36:11PM -0500, Nathan Lynch wrote: > >> > >> [1] Should CONFIG_CHECKPOINT depend on CONFIG_CGROUPS and/or > >> CONFIG_CGROUPS_FREEZER? We require tasks to be put in frozen state > >> before checkpoint, is there any mechanism apart from > >> cgroup/freezer.state to do this? > > > > Have you tried sending all of the tasks SIGSTOP? It won't 100% freeze > > the tasks -- they'd still be capable of responding to some signals > > (CONT, TERM..). Also they'd presumably be placed in the stopped state > > upon restart so a SIGCONT will be needed. In the case of bash, at > > least, that will technically change what happens upon restart. My > > guess is that in many cases it won't matter but there are some where > > it will. > > Hmm, I'm having trouble understanding your suggestion. The current > checkpoint implementation requires non-self tasks to be frozen (p->flags > & PF_FROZEN), which is not equivalent to stopped state (task->state & > __TASK_STOPPED). That is, it would refuse to checkpoint tasks in > stopped state. See may_checkpoint_task(). Oops. You're right. That would require changing may_checkpoint_task() to include __TASK_STOPPED -- not something we'd want in the final code. I had assumed you wanted to try a different mechanism for debugging purposes. Cheers, -Matt Helsley