aboutsummaryrefslogtreecommitdiff
path: root/migration/block.c
diff options
context:
space:
mode:
authorJuan Quintela <quintela@redhat.com>2023-05-15 21:56:58 +0200
committerJuan Quintela <quintela@redhat.com>2023-05-18 18:40:51 +0200
commite1fde0e038bafd0bd05db7d43305b9b2f03c0683 (patch)
tree14c6f72e2e86867957e62c01ac2ec2363dcbcc58 /migration/block.c
parentde37f8b9c21e1c6ef98eebb0b05bd83e5867bc6f (diff)
downloadqemu-e1fde0e038bafd0bd05db7d43305b9b2f03c0683.zip
qemu-e1fde0e038bafd0bd05db7d43305b9b2f03c0683.tar.gz
qemu-e1fde0e038bafd0bd05db7d43305b9b2f03c0683.tar.bz2
migration: Move rate_limit_max and rate_limit_used to migration_stats
These way we can make them atomic and use this functions from any place. I also moved all functions that use rate_limit to migration-stats. Functions got renamed, they are not qemu_file anymore. qemu_file_rate_limit -> migration_rate_exceeded qemu_file_set_rate_limit -> migration_rate_set qemu_file_get_rate_limit -> migration_rate_get qemu_file_reset_rate_limit -> migration_rate_reset qemu_file_acct_rate_limit -> migration_rate_account. Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com> Signed-off-by: Juan Quintela <quintela@redhat.com> Message-Id: <20230515195709.63843-6-quintela@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
Diffstat (limited to 'migration/block.c')
-rw-r--r--migration/block.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/migration/block.c b/migration/block.c
index 12617b4..b9580a6 100644
--- a/migration/block.c
+++ b/migration/block.c
@@ -23,6 +23,7 @@
#include "block/dirty-bitmap.h"
#include "migration/misc.h"
#include "migration.h"
+#include "migration-stats.h"
#include "migration/register.h"
#include "qemu-file.h"
#include "migration/vmstate.h"
@@ -625,7 +626,7 @@ static int flush_blks(QEMUFile *f)
blk_mig_lock();
while ((blk = QSIMPLEQ_FIRST(&block_mig_state.blk_list)) != NULL) {
- if (qemu_file_rate_limit(f)) {
+ if (migration_rate_exceeded(f)) {
break;
}
if (blk->ret < 0) {
@@ -762,7 +763,7 @@ static int block_save_iterate(QEMUFile *f, void *opaque)
/* control the rate of transfer */
blk_mig_lock();
while (block_mig_state.read_done * BLK_MIG_BLOCK_SIZE <
- qemu_file_get_rate_limit(f) &&
+ migration_rate_get() &&
block_mig_state.submitted < MAX_PARALLEL_IO &&
(block_mig_state.submitted + block_mig_state.read_done) <
MAX_IO_BUFFERS) {