Am 18.05.23 um 19:13 schrieb Juan Quintela:
> diff --git a/migration/migration-stats.c b/migration/migration-stats.c
> index feec7d7369..97759a45f3 100644
> --- a/migration/migration-stats.c
> +++ b/migration/migration-stats.c
> @@ -24,7 +24,9 @@ bool migration_rate_exceeded(QEMUFile *f)
> return true;
> }
>
> - uint64_t rate_limit_used = stat64_get(&mig_stats.rate_limit_used);
> + uint64_t rate_limit_start = stat64_get(&mig_stats.rate_limit_start);
> + uint64_t rate_limit_current = migration_transferred_bytes(f);
> + uint64_t rate_limit_used = rate_limit_current - rate_limit_start;
> uint64_t rate_limit_max = stat64_get(&mig_stats.rate_limit_max);
>
> if (rate_limit_max == RATE_LIMIT_DISABLED) {
Hi,
just wanted to let you know that the call to
migration_transferred_bytes(f) here can introduce a huge performance
penalty when taking a snapshot. I ran into the issue when testing
something else, with a single-disk snapshot. Without this call it takes
about two seconds, with the call about two minutes.
Best Regards,
Fiona