[PATCH V2 09/11] migration: privatize colo interfaces

Steve Sistare posted 11 patches 8 months, 2 weeks ago
[PATCH V2 09/11] migration: privatize colo interfaces
Posted by Steve Sistare 8 months, 2 weeks ago
Remove private migration interfaces from net/colo-compare.c and push them
to migration/colo.c.

Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
---
 migration/colo.c   | 17 +++++++++++------
 net/colo-compare.c |  3 +--
 stubs/colo.c       |  1 -
 3 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/migration/colo.c b/migration/colo.c
index 315e31f..84632a6 100644
--- a/migration/colo.c
+++ b/migration/colo.c
@@ -63,9 +63,9 @@ static bool colo_runstate_is_stopped(void)
     return runstate_check(RUN_STATE_COLO) || !runstate_is_running();
 }
 
-static void colo_checkpoint_notify(void *opaque)
+static void colo_checkpoint_notify(void)
 {
-    MigrationState *s = opaque;
+    MigrationState *s = migrate_get_current();
     int64_t next_notify_time;
 
     qemu_event_set(&s->colo_checkpoint_event);
@@ -74,10 +74,15 @@ static void colo_checkpoint_notify(void *opaque)
     timer_mod(s->colo_delay_timer, next_notify_time);
 }
 
+static void colo_checkpoint_notify_timer(void *opaque)
+{
+    colo_checkpoint_notify();
+}
+
 void colo_checkpoint_delay_set(void)
 {
     if (migration_in_colo_state()) {
-        colo_checkpoint_notify(migrate_get_current());
+        colo_checkpoint_notify();
     }
 }
 
@@ -162,7 +167,7 @@ static void primary_vm_do_failover(void)
      * kick COLO thread which might wait at
      * qemu_sem_wait(&s->colo_checkpoint_sem).
      */
-    colo_checkpoint_notify(s);
+    colo_checkpoint_notify();
 
     /*
      * Wake up COLO thread which may blocked in recv() or send(),
@@ -518,7 +523,7 @@ out:
 
 static void colo_compare_notify_checkpoint(Notifier *notifier, void *data)
 {
-    colo_checkpoint_notify(data);
+    colo_checkpoint_notify();
 }
 
 static void colo_process_checkpoint(MigrationState *s)
@@ -642,7 +647,7 @@ void migrate_start_colo_process(MigrationState *s)
     bql_unlock();
     qemu_event_init(&s->colo_checkpoint_event, false);
     s->colo_delay_timer =  timer_new_ms(QEMU_CLOCK_HOST,
-                                colo_checkpoint_notify, s);
+                                colo_checkpoint_notify_timer, NULL);
 
     qemu_sem_init(&s->colo_exit_sem, 0);
     colo_process_checkpoint(s);
diff --git a/net/colo-compare.c b/net/colo-compare.c
index f2dfc0e..c4ad0ab 100644
--- a/net/colo-compare.c
+++ b/net/colo-compare.c
@@ -28,7 +28,6 @@
 #include "sysemu/iothread.h"
 #include "net/colo-compare.h"
 #include "migration/colo.h"
-#include "migration/migration.h"
 #include "util.h"
 
 #include "block/aio-wait.h"
@@ -189,7 +188,7 @@ static void colo_compare_inconsistency_notify(CompareState *s)
         notify_remote_frame(s);
     } else {
         notifier_list_notify(&colo_compare_notifiers,
-                             migrate_get_current());
+                             NULL);
     }
 }
 
diff --git a/stubs/colo.c b/stubs/colo.c
index 08c9f98..f8c069b 100644
--- a/stubs/colo.c
+++ b/stubs/colo.c
@@ -2,7 +2,6 @@
 #include "qemu/notify.h"
 #include "net/colo-compare.h"
 #include "migration/colo.h"
-#include "migration/migration.h"
 #include "qemu/error-report.h"
 #include "qapi/qapi-commands-migration.h"
 
-- 
1.8.3.1
RE: [PATCH V2 09/11] migration: privatize colo interfaces
Posted by Zhang, Chen 8 months, 2 weeks ago

> -----Original Message-----
> From: Steve Sistare <steven.sistare@oracle.com>
> Sent: Tuesday, March 12, 2024 1:49 AM
> To: qemu-devel@nongnu.org
> Cc: Alex Williamson <alex.williamson@redhat.com>; Cedric Le Goater
> <clg@redhat.com>; Michael S. Tsirkin <mst@redhat.com>; David Hildenbrand
> <david@redhat.com>; Peter Xu <peterx@redhat.com>; Fabiano Rosas
> <farosas@suse.de>; Zhang, Hailiang <zhanghailiang@xfusion.com>; Zhang,
> Chen <chen.zhang@intel.com>; Li Zhijian <lizhijian@fujitsu.com>; Jason Wang
> <jasowang@redhat.com>; Hyman Huang <yong.huang@smartx.com>; Song
> Gao <gaosong@loongson.cn>; Alistair Francis <alistair.francis@wdc.com>;
> Steve Sistare <steven.sistare@oracle.com>
> Subject: [PATCH V2 09/11] migration: privatize colo interfaces
> 
> Remove private migration interfaces from net/colo-compare.c and push them
> to migration/colo.c.
> 
> Signed-off-by: Steve Sistare <steven.sistare@oracle.com>

Reviewed-by: Zhang Chen <chen.zhang@intel.com>

Thanks
Chen

> ---
>  migration/colo.c   | 17 +++++++++++------
>  net/colo-compare.c |  3 +--
>  stubs/colo.c       |  1 -
>  3 files changed, 12 insertions(+), 9 deletions(-)
> 
> diff --git a/migration/colo.c b/migration/colo.c index 315e31f..84632a6
> 100644
> --- a/migration/colo.c
> +++ b/migration/colo.c
> @@ -63,9 +63,9 @@ static bool colo_runstate_is_stopped(void)
>      return runstate_check(RUN_STATE_COLO) || !runstate_is_running();  }
> 
> -static void colo_checkpoint_notify(void *opaque)
> +static void colo_checkpoint_notify(void)
>  {
> -    MigrationState *s = opaque;
> +    MigrationState *s = migrate_get_current();
>      int64_t next_notify_time;
> 
>      qemu_event_set(&s->colo_checkpoint_event);
> @@ -74,10 +74,15 @@ static void colo_checkpoint_notify(void *opaque)
>      timer_mod(s->colo_delay_timer, next_notify_time);  }
> 
> +static void colo_checkpoint_notify_timer(void *opaque) {
> +    colo_checkpoint_notify();
> +}
> +
>  void colo_checkpoint_delay_set(void)
>  {
>      if (migration_in_colo_state()) {
> -        colo_checkpoint_notify(migrate_get_current());
> +        colo_checkpoint_notify();
>      }
>  }
> 
> @@ -162,7 +167,7 @@ static void primary_vm_do_failover(void)
>       * kick COLO thread which might wait at
>       * qemu_sem_wait(&s->colo_checkpoint_sem).
>       */
> -    colo_checkpoint_notify(s);
> +    colo_checkpoint_notify();
> 
>      /*
>       * Wake up COLO thread which may blocked in recv() or send(), @@ -518,7
> +523,7 @@ out:
> 
>  static void colo_compare_notify_checkpoint(Notifier *notifier, void *data)  {
> -    colo_checkpoint_notify(data);
> +    colo_checkpoint_notify();
>  }
> 
>  static void colo_process_checkpoint(MigrationState *s) @@ -642,7 +647,7
> @@ void migrate_start_colo_process(MigrationState *s)
>      bql_unlock();
>      qemu_event_init(&s->colo_checkpoint_event, false);
>      s->colo_delay_timer =  timer_new_ms(QEMU_CLOCK_HOST,
> -                                colo_checkpoint_notify, s);
> +                                colo_checkpoint_notify_timer, NULL);
> 
>      qemu_sem_init(&s->colo_exit_sem, 0);
>      colo_process_checkpoint(s);
> diff --git a/net/colo-compare.c b/net/colo-compare.c index f2dfc0e..c4ad0ab
> 100644
> --- a/net/colo-compare.c
> +++ b/net/colo-compare.c
> @@ -28,7 +28,6 @@
>  #include "sysemu/iothread.h"
>  #include "net/colo-compare.h"
>  #include "migration/colo.h"
> -#include "migration/migration.h"
>  #include "util.h"
> 
>  #include "block/aio-wait.h"
> @@ -189,7 +188,7 @@ static void
> colo_compare_inconsistency_notify(CompareState *s)
>          notify_remote_frame(s);
>      } else {
>          notifier_list_notify(&colo_compare_notifiers,
> -                             migrate_get_current());
> +                             NULL);
>      }
>  }
> 
> diff --git a/stubs/colo.c b/stubs/colo.c index 08c9f98..f8c069b 100644
> --- a/stubs/colo.c
> +++ b/stubs/colo.c
> @@ -2,7 +2,6 @@
>  #include "qemu/notify.h"
>  #include "net/colo-compare.h"
>  #include "migration/colo.h"
> -#include "migration/migration.h"
>  #include "qemu/error-report.h"
>  #include "qapi/qapi-commands-migration.h"
> 
> --
> 1.8.3.1