Messages in this thread | | | Date | Fri, 14 Dec 2012 14:48:50 -0800 | From | "H. Peter Anvin" <> | Subject | Re: [CRIU] [PATCH] Add VDSO time function support for x86 32-bit kernel |
| |
On 12/14/2012 02:43 PM, Cyrill Gorcunov wrote: > On Fri, Dec 14, 2012 at 02:27:08PM -0800, H. Peter Anvin wrote: >> On 12/14/2012 02:25 PM, Cyrill Gorcunov wrote: >>> >>> this would allow us to defer checkpoint until task finish vdso code. Peter, >>> if I understand you correctly you propose we provide some own proxy-vdso >>> which would redirect calls to real ones, right? But the main problem >>> is that is exactly the idea to be able to c/r existing programs without >>> recompiling and such (or I miss something here?). >> >> No, I'm proposing that you use a proxy-vdso which does nothing but >> system calls, and therefore can be stable indefinitely. > > This won't help in case of scenario you've been pointing in > previous email (where c/r happens in a middle of vdso), > would it? Because we still need somehow to be sure we're not > checkpointing in a middle of signal handler which will return > to some vdso place.
It is okay if and only if those vdso places never change... which I think is doable if they only contain trival system call wrappers, i.e. something like:
movl $__SYS_gettimeofday, %eax syscall ret
These kinds of wrappers don't rely on live data provided by the kernel, and so can be checkpointed together with the rest of the process.
-hpa
| |