[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] migration: calculate expected_downtime with ram
From: |
Peter Xu |
Subject: |
Re: [Qemu-devel] [PATCH] migration: calculate expected_downtime with ram_bytes_remaining() |
Date: |
Tue, 3 Apr 2018 14:10:40 +0800 |
User-agent: |
Mutt/1.9.1 (2017-09-22) |
On Sun, Apr 01, 2018 at 12:25:36AM +0530, Balamuruhan S wrote:
> expected_downtime value is not accurate with dirty_pages_rate * page_size,
> using ram_bytes_remaining would yeild it correct.
>
> Signed-off-by: Balamuruhan S <address@hidden>
> ---
> migration/migration.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/migration/migration.c b/migration/migration.c
> index 58bd382730..4e43dc4f92 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -2245,8 +2245,7 @@ static void migration_update_counters(MigrationState *s,
> * recalculate. 10000 is a small enough number for our purposes
> */
> if (ram_counters.dirty_pages_rate && transferred > 10000) {
> - s->expected_downtime = ram_counters.dirty_pages_rate *
> - qemu_target_page_size() / bandwidth;
> + s->expected_downtime = ram_bytes_remaining() / bandwidth;
This field was removed in e4ed1541ac ("savevm: New save live migration
method: pending", 2012-12-20), in which remaing RAM was used.
And it was added back in 90f8ae724a ("migration: calculate
expected_downtime", 2013-02-22), in which dirty rate was used.
However I didn't find a clue on why we changed from using remaining
RAM to using dirty rate... So I'll leave this question to Juan.
Besides, I'm a bit confused on when we'll want such a value. AFAIU
precopy is mostly used by setting up the target downtime before hand,
so we should already know the downtime before hand. Then why we want
to observe such a thing?
Thanks,
--
Peter Xu