On 03/16/2017 09:22 AM, Dr. David Alan Gilbert wrote:
> * Juan Quintela (quintela@redhat.com) wrote:
>> Signed-off-by: Juan Quintela <quintela@redhat.com>
>
> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>> ---
>> migration/ram.c | 13 +++++++------
>> 1 file changed, 7 insertions(+), 6 deletions(-)
>>
>> diff --git a/migration/ram.c b/migration/ram.c
>> index f6ac503..2d288cc 100644
>> --- a/migration/ram.c
>> +++ b/migration/ram.c
>> @@ -151,6 +151,8 @@ struct RAMState {
>> /* this variables are used for bitmap sync */
>> /* last time we did a full bitmap_sync */
>> int64_t start_time;
>> + /* bytes transferred at start_time */
>> + int64_t bytes_xfer_prev;
>> };
>> typedef struct RAMState RAMState;
>>
>> @@ -597,7 +599,6 @@ static void migration_bitmap_sync_range(ram_addr_t start, ram_addr_t length)
>> }
>>
>> /* Fix me: there are too many global variables used in migration process. */
>> -static int64_t bytes_xfer_prev;
>> static int64_t num_dirty_pages_period;
>> static uint64_t xbzrle_cache_miss_prev;
>> static uint64_t iterations_prev;
>> @@ -605,7 +606,7 @@ static uint64_t iterations_prev;
>> static void migration_bitmap_sync_init(RAMState *rs)
>> {
>> rs->start_time = 0;
>> - bytes_xfer_prev = 0;
>> + rs->bytes_xfer_prev = 0;
>> num_dirty_pages_period = 0;
>> xbzrle_cache_miss_prev = 0;
>> iterations_prev = 0;
>> @@ -638,8 +639,8 @@ static void migration_bitmap_sync(RAMState *rs)
>>
>> rs->bitmap_sync_count++;
>>
>> - if (!bytes_xfer_prev) {
>> - bytes_xfer_prev = ram_bytes_transferred();
>> + if (!rs->bytes_xfer_prev) {
>> + rs->bytes_xfer_prev = ram_bytes_transferred();
>> }
>>
>> if (!rs->start_time) {
>> @@ -674,13 +675,13 @@ static void migration_bitmap_sync(RAMState *rs)
>>
>> if (s->dirty_pages_rate &&
>> (num_dirty_pages_period * TARGET_PAGE_SIZE >
>> - (bytes_xfer_now - bytes_xfer_prev)/2) &&
>> + (bytes_xfer_now - rs->bytes_xfer_prev)/2) &&
>> (rs->dirty_rate_high_cnt++ >= 2)) {
>> trace_migration_throttle();
>> rs->dirty_rate_high_cnt = 0;
>> mig_throttle_guest_down();
>> }
>> - bytes_xfer_prev = bytes_xfer_now;
>> + rs->bytes_xfer_prev = bytes_xfer_now;
>> }
>>
>> if (migrate_use_xbzrle()) {
>> --
>> 2.9.3
>>
> --
> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
>