qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v2 09/10] Add the function of colo_bitmap_clear_diry


From: address@hidden
Subject: Re: [PATCH v2 09/10] Add the function of colo_bitmap_clear_diry
Date: Fri, 12 Mar 2021 10:28:28 +0000


On 3/12/21 1:03 PM, leirao wrote:
> From: "Rao, Lei" <lei.rao@intel.com>
>
> When we use continuous dirty memory copy for flushing ram cache on
> secondary VM, we can also clean up the bitmap of contiguous dirty
> page memory. This also can reduce the VM stop time during checkpoint.
>
> Signed-off-by: Lei Rao <lei.rao@intel.com>
> ---
>   migration/ram.c | 29 +++++++++++++++++++++++++----
>   1 file changed, 25 insertions(+), 4 deletions(-)
>
> diff --git a/migration/ram.c b/migration/ram.c
> index b269637..008a26e 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -856,6 +856,30 @@ unsigned long colo_bitmap_find_dirty(RAMState *rs, 
> RAMBlock *rb,
>       return first;
>   }
>   
> +/**
> + * colo_bitmap_clear_dirty:when we flush ram cache to ram, we will use
> + * continuous memory copy, so we can also clean up the bitmap of contiguous
> + * dirty memory.
> + */
> +static inline bool colo_bitmap_clear_dirty(RAMState *rs,
> +                                           RAMBlock *rb,
> +                                           unsigned long start,
> +                                           unsigned long num)
> +{
> +    bool ret;
> +    unsigned long i = 0;
> +
> +    qemu_mutex_lock(&rs->bitmap_mutex);
> +    for (i = 0; i < num; i++) {
> +        ret = test_and_clear_bit(start + i, rb->bmap);
> +        if (ret) {
> +            rs->migration_dirty_pages--;
> +        }
> +    }
> +    qemu_mutex_unlock(&rs->bitmap_mutex);
> +    return ret;
> +}

i'm not sure whether we should clear the dirty_log in kvm side like 
memory_region_clear_dirty_bitmap() does ?
sorry about that, i have missed qemu for a long time...

Thanks
Zhijian

reply via email to

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