I'm afraid that we are forgetting to take the best from bothI agree with Louis.
approaches...
I played with Oren's patchset and tryed to port it on x86_64. I was able
to sys_checkpoint/sys_restart but if you remove the restoring of the
general registers, the restart still works. I am not an expert on asm,
but my hypothesis is when we call sys_checkpoint the registers are saved
on the stack by the syscall and when we restore the memory of the
process, we restore the stack and the stacked registers are restored
when exiting the sys_restart. That make me feel there is an important
gap between external checkpoint and internal checkpoint.
Dmitry's patchset is nice too, but IMO, it goes too far from what we
I think you are talking about Andrey.