[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v9 10/12] migration: Transfer pages over new cha
From: |
Juan Quintela |
Subject: |
Re: [Qemu-devel] [PATCH v9 10/12] migration: Transfer pages over new channels |
Date: |
Mon, 08 Jan 2018 10:40:02 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
"Dr. David Alan Gilbert" <address@hidden> wrote:
> * Juan Quintela (address@hidden) wrote:
>> We switch for sending the page number to send real pages.
>>
>> Signed-off-by: Juan Quintela <address@hidden>
>
> I think this is OK if squashed with the 'test' patch to remove
> the test stuff.
Done.
>
> Some minor comments below.
>
>> --
>>
>> Remove the HACK bit, now we have the function that calculates the size
>> of a page exported.
>> Rename multifd_pages{_now}, to sent pages
>> Remove multifd pages field, it is the same than normal pages
>> ---
>> migration/migration.c | 7 ++++++-
>> migration/ram.c | 39 +++++++++++----------------------------
>> 2 files changed, 17 insertions(+), 29 deletions(-)
>>
>> diff --git a/migration/migration.c b/migration/migration.c
>> index 54ef095d82..1bd87a4e44 100644
>> --- a/migration/migration.c
>> +++ b/migration/migration.c
>> @@ -2085,6 +2085,7 @@ static void *migration_thread(void *opaque)
>> */
>> int64_t threshold_size = 0;
>> int64_t qemu_file_bytes = 0;
>> + int64_t sent_pages = 0;
>> int64_t start_time = initial_time;
>> int64_t end_time;
>> bool old_vm_running = false;
>> @@ -2173,8 +2174,11 @@ static void *migration_thread(void *opaque)
>> current_time = qemu_clock_get_ms(QEMU_CLOCK_REALTIME);
>> if (current_time >= initial_time + BUFFER_DELAY) {
>> uint64_t qemu_file_bytes_now = qemu_ftell(s->to_dst_file);
>> + uint64_t sent_pages_now = ram_counters.normal;
>> uint64_t transferred_bytes =
>> - qemu_file_bytes_now - qemu_file_bytes;
>> + (qemu_file_bytes_now - qemu_file_bytes) +
>> + (sent_pages_now - sent_pages) *
>> + qemu_target_page_size();
>
> This could do with commenting to explain the difference between the
> two sets of counts.
Rework it to make clear that multifd data is not sent through qemu file.
>> @@ -1288,8 +1270,10 @@ static int ram_multifd_page(RAMState *rs,
>> PageSearchStatus *pss,
>> offset | RAM_SAVE_FLAG_MULTIFD_PAGE);
>> fd_num = multifd_send_page(p, rs->migration_dirty_pages == 1);
>> qemu_put_be16(rs->f, fd_num);
>> + if (fd_num != MULTIFD_CONTINUE) {
>> + qemu_fflush(rs->f);
>> + }
>
> Could do with a comment.
Done.
Later, Juan.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH v9 10/12] migration: Transfer pages over new channels,
Juan Quintela <=