[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 4/8] migration: Implement dirty-limit convergence algo
From: |
Peter Xu |
Subject: |
Re: [PATCH 4/8] migration: Implement dirty-limit convergence algo |
Date: |
Wed, 17 Aug 2022 18:09:12 -0400 |
On Sat, Jul 23, 2022 at 03:49:16PM +0800, huangy81@chinatelecom.cn wrote:
> From: Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
>
> Implement dirty-limit convergence algo for live migration,
> which is kind of like auto-converge algo but using dirty-limit
> instead of cpu throttle to make migration convergent.
>
> Signed-off-by: Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
> ---
> migration/ram.c | 53
> +++++++++++++++++++++++++++++++++++++-------------
> migration/trace-events | 1 +
> 2 files changed, 41 insertions(+), 13 deletions(-)
>
> diff --git a/migration/ram.c b/migration/ram.c
> index b94669b..2a5cd23 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -45,6 +45,7 @@
> #include "qapi/error.h"
> #include "qapi/qapi-types-migration.h"
> #include "qapi/qapi-events-migration.h"
> +#include "qapi/qapi-commands-migration.h"
> #include "qapi/qmp/qerror.h"
> #include "trace.h"
> #include "exec/ram_addr.h"
> @@ -57,6 +58,8 @@
> #include "qemu/iov.h"
> #include "multifd.h"
> #include "sysemu/runstate.h"
> +#include "sysemu/dirtylimit.h"
> +#include "sysemu/kvm.h"
>
> #include "hw/boards.h" /* for machine_dump_guest_core() */
>
> @@ -1139,6 +1142,21 @@ static void migration_update_rates(RAMState *rs,
> int64_t end_time)
> }
> }
>
> +/*
> + * Enable dirty-limit to throttle down the guest
> + */
> +static void migration_dirty_limit_guest(void)
> +{
> + if (!dirtylimit_in_service()) {
> + MigrationState *s = migrate_get_current();
> + int64_t quota_dirtyrate = s->parameters.vcpu_dirty_limit;
> +
> + /* Set quota dirtyrate if dirty limit not in service */
> + qmp_set_vcpu_dirty_limit(false, -1, quota_dirtyrate, NULL);
> + trace_migration_dirty_limit_guest(quota_dirtyrate);
> + }
> +}
What if migration is cancelled? Do we have logic to stop the dirty limit,
or should we?
--
Peter Xu
- Re: [PATCH 4/8] migration: Implement dirty-limit convergence algo,
Peter Xu <=