Re: [CRIU] [PATCH] Add VDSO time function support for x86 32-bitkernel

From: H. Peter Anvin
Date: Fri Dec 14 2012 - 17:49:03 EST


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


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/