DragonFly kernel List (threaded) for 2007-02
Re: Checkpointing vkernels
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
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).
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.