From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Serge E. Hallyn" Subject: Re: [PATCH 0/6] /proc/pid/checkpointable Date: Wed, 18 Mar 2009 08:53:20 -0500 Message-ID: <20090318135320.GD22636@us.ibm.com> References: <20090317062754.GA2377@us.ibm.com> <20090317063958.GG2377@us.ibm.com> <49C0B750.4050109@cs.columbia.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <49C0B750.4050109-eQaUEPhvms7ENvBUuze7eA@public.gmane.org> 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: Oren Laadan Cc: Containers , Sukadev Bhattiprolu , "David C. Hansen" List-Id: containers.vger.kernel.org Quoting Oren Laadan (orenl-eQaUEPhvms7ENvBUuze7eA@public.gmane.org): > > > Sukadev Bhattiprolu wrote: > > From: Sukadev Bhattiprolu > > Date: Sat, 14 Mar 2009 10:21:07 -0700 > > Subject: [PATCH 6/6] Explain reason for task being uncheckpointable > > > > Try to give an useful message on why a task is uncheckpointable. > > > > Signed-off-by: Sukadev Bhattiprolu > > --- > > checkpoint/checkpoint.c | 13 +++++++++---- > > fs/proc/base.c | 19 ++++++++++++++++++- > > include/linux/checkpoint.h | 7 +++++++ > > 3 files changed, 34 insertions(+), 5 deletions(-) > > > > [...] > > > #ifdef CONFIG_CHECKPOINT_RESTART > > +static char *explain_checkpointable(int reason) > > +{ > > + char *message; > > + > > + switch(reason) { > > + case CR_CHECKPOINTABLE: message = "1"; break; > > + case CR_DEAD: message = "0 (dead)"; break; > > + case CR_NOT_FROZEN: message = "0 (not frozen)"; break; > > Hmmm... so a task cannot test if it itself is checkpointable, because > it will never be frozen and will fail right there before proceeding to > addition (future) tests ? No, no... : /* Verify that task is frozen, unless it is self-checkpoint */ if (t != current && !frozen(t)) - return 0; + return CR_NOT_FROZEN; -serge