Thread (78 messages) 78 messages, 6 authors, 2009-08-04

Re: [RFC v17][PATCH 22/60] c/r: external checkpoint of a task other than ourself

From: Serge E. Hallyn <hidden>
Date: 2009-07-23 14:54:55
Also in: linux-mm, lkml

Quoting Oren Laadan (orenl-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org):

Serge E. Hallyn wrote:
quoted
Quoting Oren Laadan (orenl-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org):
quoted
Now we can do "external" checkpoint, i.e. act on another task.
...
quoted
 long do_checkpoint(struct ckpt_ctx *ctx, pid_t pid)
 {
 	long ret;

+	ret = init_checkpoint_ctx(ctx, pid);
+	if (ret < 0)
+		return ret;
+
+	if (ctx->root_freezer) {
+		ret = cgroup_freezer_begin_checkpoint(ctx->root_freezer);
+		if (ret < 0)
+			return ret;
+	}
Self-checkpoint of a task in root freezer is now denied, though.

Was that intentional?
Yes.

"root freezer" is an arbitrary task in the checkpoint subtree or
container. It is used to verify that all checkpointed tasks - except
for current, if doing self-checkpoint - belong to the same freezer
group.

Since current is busy calling checkpoint(2), and since we only permit
checkpoint of (cgroup-) frozen tasks, then - by definition - it cannot
possibly belong to the same group. If it did, it would itself be frozen
like its fellows and unable to call checkpoint(2).

Oren.
Ok, well I don't know what was happening yesterday.  Today it's
restart that is failing, and as you pointed out on irc that's
on s390 only.  I'll send out a patch this afternoon to fix that.

Yesterday I must not have read the output right I guess...

thanks,
-serge
--
To unsubscribe from this list: send the line "unsubscribe linux-api" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help