Re: [RFC] [PATCH 00/13] Introduce task_pid api

From: Robin Holt
Date: Tue Nov 15 2005 - 06:59:37 EST


On Tue, Nov 15, 2005 at 01:06:24AM -0800, Paul Jackson wrote:
> No - tasks get the pid the kernel gives them at fork, as always.
> The task keeps that exact same pid, across all checkpoints, restarts
> and migrations. Nothing that the application process has to worry
> about, either inside the kernel code or in userspace, beyond the fork
> code honoring the assigned pid range when allocating a new pid.

Paul, this approach seems very risky at best. How do you checkpoint,
stop, reboot the system, and restart? Does the system recall that a
checkpoint occured and then reserve those from early in boot? What about
a checkpointed task which is completed on a different system? How is
that handled? What if the checkpointed and terminated task is deemed
not worth restarting, how do you inform the system to reuse the pids.
Just seems like a hornets nest.

I would think _for_pids_and_not_everything, the checkpoint could write
out the core file and a restart file. The restart file would contain the
pid related information. Then the restart tool could use a preloader to
intercept system calls that specify pids and translate pids from old to
new. It might not be as easy as using the kernel, but it makes some sense
to from my limited point of view and makes the kernel code less polluted.

Robin
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/