Checkpointing vkernels
Matthew Dillon
dillon at apollo.backplane.com
Wed Feb 14 09:14:54 PST 2007
:Just out of curiosity ... I assume it is not possible
:to checkpoint a running vkernel, right?
:
:Best regards
: Oliver
:
:--
:Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing
:Dienstleistungen mit Schwerpunkt FreeBSD: http://www.secnetix.de/bsd
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.
-Matt
Matthew Dillon
<dillon at backplane.com>
More information about the Kernel
mailing list