[CRIU] [PATCH] Add VDSO time function support for x86 32-bit kernel

Pavel Emelyanov xemul at parallels.com
Mon Dec 17 13:56:12 EST 2012


On 12/17/2012 07:21 PM, H. Peter Anvin wrote:
> Because it is almost impossible to do right?

In the generic case -- I tend to agree. But it's possible to describe
how a library should communicate to crtools to make it possible.

Anyway, what I wanted to say -- we didn't have this scenario in our
plans, but criu project is open, and if someone comes with sane idea,
we will not object merging it.

> Pavel Emelyanov <xemul at parallels.com> wrote:
> 
>> On 12/14/2012 10:44 PM, Andy Lutomirski wrote:
>>> On Fri, Dec 14, 2012 at 10:35 AM, H. Peter Anvin <hpa at zytor.com>
>> wrote:
>>>> On 12/14/2012 12:34 AM, Pavel Emelyanov wrote:
>>>>> On 12/14/2012 06:20 AM, Andy Lutomirski wrote:
>>>>>> On Thu, Dec 13, 2012 at 6:18 PM, H. Peter Anvin <hpa at zytor.com>
>> wrote:
>>>>>>> Wouldn't the vdso get mapped already and could be mremap()'d.  If
>> we
>>>>>> really need more control I'd almost push for a device/filesystem
>> node
>>>>>> that could be mmapped the usual way.
>>>>>>
>>>>>> Hmm.  That may work, but it'll still break ABI.  I'm not sure that
>>>>>> criu is stable enough yet that we should care.  Criu people?
>>>>>
>>>>> It's not yet, but we'd still appreciate the criu-friendly vdso
>> redesign.
>>>>>
>>>>>> (In brief summary: how annoying would it be if the vdso was no
>> longer
>>>>>> just a bunch of constant bytes that lived somewhere?)
>>>>>
>>>>> It depends on what vdso is going to be. In the perfect case it
>> should
>>>>> a) be mremap-able to any address (or be at fixed address _forever_,
>> but
>>>>>    I assume this is not feasible);
>>>>> b) have entry points at fixed (or somehow movable) places.
>>>>>
>>>>> I admit that I didn't understand your question properly, if I did,
>>>>> please correct me.
>>>>>
>>>>
>>>> mremap() should work.  At the same time, the code itself is not
>> going to
>>>> have any stability guarantees between kernel versions -- it
>> obviously
>>>> cannot.
>>>
>>> We could guarantee that the symbols in the vdso resolve to particular
>>> offsets within the vdso.  (Yes, this is ugly.)
>>>
>>> Does criu support checkpointing with one version of a shared library
>>> and restoring with another?
>>
>> No, neither we have this in plans.
>> However, if somebody needs this and implements -- why not?!
>>
>> Thanks,
>> Pavel
> 




More information about the CRIU mailing list