qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v12 13/21] migration: Calculate transferred ram


From: Juan Quintela
Subject: Re: [Qemu-devel] [PATCH v12 13/21] migration: Calculate transferred ram correctly
Date: Wed, 09 May 2018 21:46:13 +0200
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:
>> On multifd we send data from more places that main channel.
>> 
>> Signed-off-by: Juan Quintela <address@hidden>
>> ---
>>  migration/migration.c | 11 +++++++++--
>>  1 file changed, 9 insertions(+), 2 deletions(-)
>> 
>> diff --git a/migration/migration.c b/migration/migration.c
>> index 9b510a809a..75d30661e9 100644
>> --- a/migration/migration.c
>> +++ b/migration/migration.c
>> @@ -2246,12 +2246,19 @@ static void migration_update_counters(MigrationState 
>> *s,
>>  {
>>      uint64_t transferred, time_spent;
>>      double bandwidth;
>> +    uint64_t now;
>>  
>>      if (current_time < s->iteration_start_time + BUFFER_DELAY) {
>>          return;
>>      }
>>  
>> -    transferred = qemu_ftell(s->to_dst_file) - s->iteration_initial_bytes;
>> +    if (migrate_use_multifd()) {
>> +        now = ram_counters.normal * qemu_target_page_size()
>> +            + qemu_ftell(s->to_dst_file);
>
> OK, can I just confirm, the 'multifd packets' go over the main fd, and
> just the pags are going over the other fd's?

Nope.  We send (at the end) pages and metadata pages through the
multifd channels.  We don't send anything over the normal page for
multifd pages.  Multifd metadata is not taking into account.  It is
multifd_send_state->seq * sizeof(packet).  Fixing that.

> In which case this is
> right; but if the headers are going over the other fd's as well then
> this is wrong.

They are small, but still (aronud 64 offsets + something 20 bytes of
header), once every 64 pages, but as said, it is not difficult to do the
right thing.

Thanks, Juan.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]