Re: [RFC][PATCH] x86_86 support of checkpoint/restart (Re: Checkpoint / Restart)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/02/09 21:14 +0100, Cedric Le Goater wrote:

[...]

> I think that the current way of doing things is work in progress and needs
> to be reviewed. The way checkpoint/restart is triggered has always been
> controversial among the stakeholders.
> 
> We've been maintaining a C/R solution on ppc32, ppc64, x86, x86_64, ia64, 
> s390, s390x since 2002 working on the above principles you are describing.
> UNICOS and later IRIX used similar principles, following the POSIX draft
> on checkpoint/restart.
> 
> For the signal, we have 'hijacked' SIGSTOP but new signals SIGCKPT and 
> SIGRESTART would definitely be a nicer solution for a mainline solution.

In Kerrighed we implemented a variant of signal handler, which is more
transparent to userspace. Instead of using userspace signals (for instance
SIGRTMIN), we send a signal with si_code = SI_KERRIGHED. When dequeuing such a
signal, get_signal_to_deliver() calls the appropriate kernel callback (eg.
task_checkpoint()), and then continues as if the signal were ignored.

This solution has two nice properties:
- no userspace signal is overloaded, so that applications can use whatever
  signals they want;
- every task will eventually handle the signal with the right callback, whether
  they use the VDSO page or not.

Of course there is the matching drawback: userspace cannot use the checkpoint
signal to perform application-dependent control. However, this kind of thing
could equally be done from the checkpoint callback setting up an
application-defined signal handler.

Louis

-- 
Dr Louis Rilling			Kerlabs
Skype: louis.rilling			Batiment Germanium
Phone: (+33|0) 6 80 89 08 23		80 avenue des Buttes de Coesmes
http://www.kerlabs.com/			35700 Rennes

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Containers mailing list
Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/containers

[Index of Archives]     [Cgroups]     [Netdev]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux