Il 28/08/2013 05:26, Lei Li ha scritto:
>>>
>>> RAMBlock structs are not visible outside of exec.c and arch_init.c,
>>> how did you do this?
>>
>> Hi Michael,
>>
>> Good catch!
>> Actually this is the 'Known issue' that I listed in the cover
>> letter, and I planed to ask suggestions on this.
>>
>> Currently the implementation of override of the RDMA hook like 
>> save_page for localhost migration needs to have knowledge of
>> MemoryRegion and RAMBlock, say, when saving ram page, need to know
>> which RAMBlock the given ram address save_page hook passed is
>> belong to, or which is the last ram block has been sent. But seems
>> that such structs can not be exported to the private code in 
>> migration-local.c.
>>
>> My guess for now is that there might be two possible ways to handle this:
>>
>> 1) Choose another way around, like representation of a RAMBlock and
>> MemoryRegion from localhost migration perspective. This might need
>> more work to handle the descriptions.
>>
>> 2) It could be exported directly into private code like migration-local.c
>> through some ways that I don't know yet. I remembered that the 
>> implementation of postcopy migration did this.
>>
>> So I'd like to post and ask for your suggestions to make sure it's the
>> right and best way to handle.
>
> Hi Paolo,
> 
> Any suggestions on this?

Unlike the RAM constants and migration states, I think exporting
MemoryRegion (not sure about RAMBlock) is fine.  In fact, replacing the
save_page hook's block_offset argument with a MemoryRegion would be a
nice cleanup.

Paolo

Reply via email to