Hello! This summer I will be working on making it possible to generate a checkpoint file of a vkernel and restore it later in such way it won't be noticeable for its virtual processes. Since DragonFly already has support for checkpointing common, "normal" processes I am going to, basically, just extend its abilities to fit the vkernels' specific needs. Moreover, there already has been an attempt [1] to make vkernels checkpointable and I am going to take advantage of the work that was done.
Firstly, I will complete support for checkpointing processes with multiple threads what is a feature not only vkernels will take benefit from. Then, I am going to implement restoring network interfaces (and their configuration) as well as console mode after vkernel is resumed. During the second half of the Google Summer of Code period I am going to implement support for kqueue based IO as well as MAP_VPAGETABLE and vmspaces which are essential for vkernels proper functioning. My proposal is available here [2]. You can track my progress in my github repository, branch vkernel_chkpt [3]. Paweł Dziepak [1] https://github.com/iriina/DragonFlyBSD/commits/test2.10.1 [2] http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/pdziepak/17001 [3] https://github.com/pdziepak/DragonFlyBSD/tree/vkernel_chkpt
