Checkpointing vkernels

Matthew Dillon dillon at
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:

    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.

					Matthew Dillon 
					<dillon at>

More information about the Kernel mailing list