[PATCH 0/6] /proc/pid/checkpointable
dave at linux.vnet.ibm.com
Wed Mar 18 07:42:51 PDT 2009
On Wed, 2009-03-18 at 04:55 -0400, Oren Laadan wrote: Bhattiprolu wrote:
> > From: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
> > Date: Fri, 13 Mar 2009 17:25:42 -0700
> > Subject: [PATCH 5/6] Define and use proc_pid_checkpointable()
> > Create a proc file, /proc/pid/checkpointable, which shows '1' if
> > task is checkpointable and '0' if it is not.
> > To determine whether a task is checkpointable, the handler for this
> > new proc file, shares the same code with sys_checkpoint().
> I still don't understand why we would like to do it this way.
> First, it makes little sense to do it per-task, because we are supposed
> to checkpoint an entire container.
I take it you didn't like the 'files' or 'uts' versions of this, either.
Do we have a container object in the kernel that we could tag, anyway?
> Second, what's wrong with doing a "dry" checkpoint on the container (or
> if you prefer, the task, for what it's worth), that will not buffer nor
> write out any data - just say "yes" or "no" ?
> (we could use a flag "CR_CTX_DRYRUN" when calling sys_checkpoint() for
> this, and test for this flag in, say, kwrite/kread).
> After all, we don't expect applications or users to continuously and
> repeatedly test if they can checkpoint, so it isn't performance critical.
> So we simply reuse the existing code.
Heh. Did you read Ingo's suggestions? He suggested *exactly* that.
> This would also catch cases where we can't checkpoint because the kernel
> is low on memory - which wouldn't show up otherwise.
> And in any case, this is orthogonal to what Dave is pushing, following
> Ingo's comment, to know when a task _becomes_ not-checkpointable. (And
> in any case, I think our time is better spent on adding functionality
More information about the Containers