DragonFly kernel List (threaded) for 2007-02
DragonFly BSD
DragonFly kernel List (threaded) for 2007-02
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Checkpointing vkernels

From: Oliver Fromme <check+jdikhn00rs568bpc@xxxxxxxxxx>
Date: 15 Feb 2007 17:09:46 GMT

Matthew Dillon wrote:
 > :Just out of curiosity ...  I assume it is not possible
 > :to checkpoint a running vkernel, right?
 >    You can't at the moment, but only for two simple reasons:  First,
 >    the checkpointing code doesn't save and restore state for
 >    MAP_VPAGETABLE, and second, the vkernel needs a signal handler for
 >    the checkpoint restore to re-create the VM spaces for all of its
 >    virtualized user processes.
 >    Neither of these is difficult to do.  Saving the state for a 
 >    file-backed MAP_VPAGETABLE only requires saving the page table
 >    directory offset and mapping type.  And writing a signal handler
 >    to re-create the VM spaces for all the virtualized user processes
 >    is just as easy, because the VM spaces are all mapped as VPAGETABLE's
 >    on the same physical memory backing file and the vkernel already knows 
 >    the page directory offset for each one.

Cool, I didn't think that it would be relatively easy to
implement that.

I think it would be quite useful to be able to suspend a
vkernel and later resume it, e.g. after a reboot of the
physical machine, or even after moving the checkpoint file
and the vkernel's FS image to a different physical machine.

It would break any existing network connections, though,
I guess (i.e. through vke).

Best regards

Oliver Fromme,  secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing
Dienstleistungen mit Schwerpunkt FreeBSD: http://www.secnetix.de/bsd

Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.

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