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