qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 18/23] migration: Use bandwidth_limit directly


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH 18/23] migration: Use bandwidth_limit directly
Date: Tue, 04 Oct 2011 09:29:50 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.21) Gecko/20110831 Lightning/1.0b2 Thunderbird/3.1.13

On 09/23/2011 07:57 AM, Juan Quintela wrote:
Now that current_migration always exist, there is no reason for
max_throotle variable.

Signed-off-by: Juan Quintela<address@hidden>

If we can have multiple MigrationStates, this doesn't really make sense.

Regards,

Anthony Liguori

---
  migration.c |   19 ++++++++++---------
  1 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/migration.c b/migration.c
index c382383..ea50a6f 100644
--- a/migration.c
+++ b/migration.c
@@ -31,14 +31,14 @@
      do { } while (0)
  #endif

-/* Migration speed throttling */
-static int64_t max_throttle = (32<<  20);
+#define MAX_THROTTLE  (32<<  20)      /* Migration speed throttling */

  /* When we add fault tolerance, we could have several
     migrations at once.  For now we don't need to add
     dynamic creation of migration */
  static MigrationState current_migration_static = {
      .state = MIG_STATE_NONE,
+    .bandwidth_limit = MAX_THROTTLE,
  };
  static MigrationState *current_migration =&current_migration_static;

@@ -385,14 +385,14 @@ void migrate_fd_connect(MigrationState *s)
      migrate_fd_put_ready(s);
  }

-static void migrate_init_state(Monitor *mon, int64_t bandwidth_limit,
-                               int detach, int blk, int inc)
+static void migrate_init_state(Monitor *mon, int detach, int blk, int inc)
  {
+    int64_t bandwidth_limit = current_migration->bandwidth_limit;
+
      memset(current_migration, 0, sizeof(current_migration));
+    current_migration->bandwidth_limit = bandwidth_limit;
      current_migration->blk = blk;
      current_migration->shared = inc;
-    current_migration->mon = NULL;
-    current_migration->bandwidth_limit = bandwidth_limit;
      current_migration->state = MIG_STATE_NONE;

      if (!detach) {
@@ -418,7 +418,7 @@ int do_migrate(Monitor *mon, const QDict *qdict, QObject 
**ret_data)
          return -1;
      }

-    migrate_init_state(mon, max_throttle, detach, blk, inc);
+    migrate_init_state(mon, detach, blk, inc);

      if (strstart(uri, "tcp:",&p)) {
          ret = tcp_start_outgoing_migration(current_migration, p);
@@ -458,9 +458,10 @@ int do_migrate_set_speed(Monitor *mon, const QDict *qdict, 
QObject **ret_data)
      if (d<  0) {
          d = 0;
      }
-    max_throttle = d;
+    current_migration->bandwidth_limit = d;

-    qemu_file_set_rate_limit(current_migration->file, max_throttle);
+    qemu_file_set_rate_limit(current_migration->file,
+                             current_migration->bandwidth_limit);
      return 0;
  }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]