[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [PATCH 2/3] Reduce the time of checkpoint for COLO
From: |
Rao, Lei |
Subject: |
RE: [PATCH 2/3] Reduce the time of checkpoint for COLO |
Date: |
Tue, 22 Sep 2020 09:11:22 +0000 |
Got it.
It looks more reasonable. Will be changed in V2.
Thanks,
Lei.
-----Original Message-----
From: Li Zhijian <lizhijian@cn.fujitsu.com>
Sent: Tuesday, September 22, 2020 2:58 PM
To: Rao, Lei <lei.rao@intel.com>; Zhang, Chen <chen.zhang@intel.com>;
jasowang@redhat.com; quintela@redhat.com; dgilbert@redhat.com;
pbonzini@redhat.com
Cc: qemu-devel@nongnu.org
Subject: Re: [PATCH 2/3] Reduce the time of checkpoint for COLO
On 9/19/20 11:10 AM, leirao wrote:
> we should set ram_bulk_stage to false after ram_state_init, otherwise
> the bitmap will be unused in migration_bitmap_find_dirty.
> all pages in ram cache will be flushed to the ram of secondary guest
> for each checkpoint.
>
> Signed-off-by: leirao <lei.rao@intel.com>
> ---
> migration/ram.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/migration/ram.c b/migration/ram.c index 76d4fee..6a2b6c1
> 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -3019,6 +3019,17 @@ static void
> decompress_data_with_multi_threads(QEMUFile *f,
> }
>
> /*
> + * we must set ram_bulk_stage to fasle, otherwise in
> + * migation_bitmap_find_dirty the bitmap will be unused and
> + * all the pages in ram cache wil be flushed to the ram of
> + * secondary VM.
> + */
> +static void colo_set_ram_state(RAMState *rsp)
this function name is too general, how about
colo_init_ram_state(ram_state)
{
ram_state_init(&ram_state);
ram_state->ram_bulk_stage = false;
}
Thanks
Zhijian
> +{
> + rsp->ram_bulk_stage = false;
> +}
> +
> +/*
> * colo cache: this is for secondary VM, we cache the whole
> * memory of the secondary VM, it is need to hold the global lock
> * to call this helper.
> @@ -3062,6 +3073,7 @@ int colo_init_ram_cache(void)
> }
>
> ram_state_init(&ram_state);
> + colo_set_ram_state(ram_state);
> return 0;
> }
>