diff mbox series

[08/10] net/colo-compare.c: Change the timer clock type

Message ID 20201014072555.12515-9-chen.zhang@intel.com
State Superseded
Headers show
Series COLO project queued patches 20-Oct | expand

Commit Message

Zhang, Chen Oct. 14, 2020, 7:25 a.m. UTC
From: Zhang Chen <chen.zhang@intel.com>

The virtual clock only runs during the emulation. It stops
when the virtual machine is stopped.
The host clock should be used for device models that emulate accurate
real time sources. It will continue to run when the virtual machine
is suspended. COLO need to know the host time here.

Reported-by: Derek Su <dereksu@qnap.com>
Signed-off-by: Zhang Chen <chen.zhang@intel.com>
Reviewed-by: Li Zhijian <lizhijian@cn.fujitsu.com>
---
 net/colo-compare.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Philippe Mathieu-Daudé Oct. 15, 2020, 11:14 a.m. UTC | #1
On 10/14/20 9:25 AM, Zhang Chen wrote:
> From: Zhang Chen <chen.zhang@intel.com>

> 

> The virtual clock only runs during the emulation. It stops

> when the virtual machine is stopped.

> The host clock should be used for device models that emulate accurate

> real time sources. It will continue to run when the virtual machine

> is suspended. COLO need to know the host time here.

> 


Please add:

Fixes: dd321ecfc2e ("colo-compare: Use IOThread to Check old packet 
regularly and Process packets of the primary")
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>


> Reported-by: Derek Su <dereksu@qnap.com>

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

> Reviewed-by: Li Zhijian <lizhijian@cn.fujitsu.com>

> ---

>   net/colo-compare.c | 6 +++---

>   1 file changed, 3 insertions(+), 3 deletions(-)

> 

> diff --git a/net/colo-compare.c b/net/colo-compare.c

> index f4814c5f09..61c95fe7e9 100644

> --- a/net/colo-compare.c

> +++ b/net/colo-compare.c

> @@ -899,7 +899,7 @@ static void check_old_packet_regular(void *opaque)

>   

>       /* if have old packet we will notify checkpoint */

>       colo_old_packet_check(s);

> -    timer_mod(s->packet_check_timer, qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL) +

> +    timer_mod(s->packet_check_timer, qemu_clock_get_ms(QEMU_CLOCK_HOST) +

>                 s->expired_scan_cycle);

>   }

>   

> @@ -933,10 +933,10 @@ static void colo_compare_timer_init(CompareState *s)

>   {

>       AioContext *ctx = iothread_get_aio_context(s->iothread);

>   

> -    s->packet_check_timer = aio_timer_new(ctx, QEMU_CLOCK_VIRTUAL,

> +    s->packet_check_timer = aio_timer_new(ctx, QEMU_CLOCK_HOST,

>                                   SCALE_MS, check_old_packet_regular,

>                                   s);

> -    timer_mod(s->packet_check_timer, qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL) +

> +    timer_mod(s->packet_check_timer, qemu_clock_get_ms(QEMU_CLOCK_HOST) +

>                 s->expired_scan_cycle);

>   }

>   

>
diff mbox series

Patch

diff --git a/net/colo-compare.c b/net/colo-compare.c
index f4814c5f09..61c95fe7e9 100644
--- a/net/colo-compare.c
+++ b/net/colo-compare.c
@@ -899,7 +899,7 @@  static void check_old_packet_regular(void *opaque)
 
     /* if have old packet we will notify checkpoint */
     colo_old_packet_check(s);
-    timer_mod(s->packet_check_timer, qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL) +
+    timer_mod(s->packet_check_timer, qemu_clock_get_ms(QEMU_CLOCK_HOST) +
               s->expired_scan_cycle);
 }
 
@@ -933,10 +933,10 @@  static void colo_compare_timer_init(CompareState *s)
 {
     AioContext *ctx = iothread_get_aio_context(s->iothread);
 
-    s->packet_check_timer = aio_timer_new(ctx, QEMU_CLOCK_VIRTUAL,
+    s->packet_check_timer = aio_timer_new(ctx, QEMU_CLOCK_HOST,
                                 SCALE_MS, check_old_packet_regular,
                                 s);
-    timer_mod(s->packet_check_timer, qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL) +
+    timer_mod(s->packet_check_timer, qemu_clock_get_ms(QEMU_CLOCK_HOST) +
               s->expired_scan_cycle);
 }