Re: Checkpoint/restart (was Re: [PATCH 0/4] - v2 - Objectcreation with a specified id)

From: Alexey Dobriyan
Date: Tue Apr 22 2008 - 16:06:23 EST


On Tue, Apr 22, 2008 at 11:56:20AM -0700, Dave Hansen wrote:
> On Tue, 2008-04-22 at 23:36 +0400, Alexey Dobriyan wrote:
> > On Fri, Apr 18, 2008 at 07:44:59AM +0200, Nadia.Derbey@xxxxxxxx wrote:
> > > . echo "LONG XX" > /proc/self/task/<my_tid>/next_id
> > > next object to be created will have an id set to XX
> > > . echo "LONG<n> X0 ... X<n-1>" > /proc/self/task/<my_tid>/next_id
> > > next object to be created will have its ids set to XX0, ... X<n-1>
> > > This is particularly useful for processes that may have several ids if
> > > they belong to nested namespaces.
> >
> > Can we answer the following questions before merging this patch:
> >
> > a) should mainline kernel have checkpoint/restart feature at all
> > b) if yes, should it be done from kernel- or userspace?
> >
> > Until agreement will be "yes/from userspace" such patches don't make
> > sense in mainline.
>
> What do you mean by "from kernel" or "from userspace"?

By "from userspace" I mean proposed interfaces and similar: usespace by
special system calls puts some state of future object and then does
normal system call which creates aforementioned object.

This can be used for PIDs, OK.

This can be used for SystemV shmem ids. But SystemV shmem also has
(let's choose) uid/gid, atimes and actual content. How would restoration
look like?

How to restore struct task_struct::did_exec ? Do execve(2)?

A was ptracing B at checkpoint moment...

Netdevices: stats, name, all sorts of flags, hw addresses, MTU

iptables rules.

These next ids are suitable, well, only for ids which is very, very small
part of kernel state needed to restore group of processes.

> Userspace has to be involved somewhere, right? It at least need to open()
> the checkpoint file and pass it into the kernel.

Sure, but opening dumpfile is not an interesting part.

--
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/