mbox series

[v6,00/10] Fixed some bugs and optimized some codes for COLO

Message ID 1617938456-315058-1-git-send-email-lei.rao@intel.com (mailing list archive)
Headers show
Series Fixed some bugs and optimized some codes for COLO | expand

Message

Rao, Lei April 9, 2021, 3:20 a.m. UTC
From: Rao, Lei <lei.rao@intel.com>

Changes since v5:
        --Replaced g_slice_new calls with g_slice_new0.

Changes since v4:
        --Replaced qemu_mutex_lock calls with QEMU_LOCK_GUARD in colo_bitmap_clear_dirty.
        --Modify some minor issues about variable definition.
        --Add some performance test data in the commit message.

Changes since v3:
        --Remove cpu_throttle_stop from mig_throttle_counter_reset.

Changes since v2:
        --Add a function named packet_new_nocopy.
        --Continue to optimize the function of colo_flush_ram_cache.

Changes since v1:
        --Reset the state of the auto-converge counters at every checkpoint instead of directly disabling.
        --Treat the filter_send function returning zero as a normal case.

The series of patches include:
        Fixed some bugs of qemu crash.
        Optimized some code to reduce the time of checkpoint.
        Remove some unnecessary code to improve COLO.

Rao, Lei (10):
  Remove some duplicate trace code.
  Fix the qemu crash when guest shutdown during checkpoint
  Optimize the function of filter_send
  Remove migrate_set_block_enabled in checkpoint
  Add a function named packet_new_nocopy for COLO.
  Add the function of colo_compare_cleanup
  Reset the auto-converge counter at every checkpoint.
  Reduce the PVM stop time during Checkpoint
  Add the function of colo_bitmap_clear_dirty
  Fixed calculation error of pkt->header_size in fill_pkt_tcp_info()

 migration/colo.c      | 10 +++----
 migration/migration.c |  4 +++
 migration/ram.c       | 83 +++++++++++++++++++++++++++++++++++++++++++++++++--
 migration/ram.h       |  1 +
 net/colo-compare.c    | 25 +++++++---------
 net/colo-compare.h    |  1 +
 net/colo.c            | 25 +++++++++++-----
 net/colo.h            |  1 +
 net/filter-mirror.c   |  8 ++---
 net/filter-rewriter.c |  3 +-
 net/net.c             |  4 +++
 softmmu/runstate.c    |  1 +
 12 files changed, 129 insertions(+), 37 deletions(-)

Comments

Lukas Straub May 17, 2021, 7:46 p.m. UTC | #1
On Thu,  8 Apr 2021 23:20:46 -0400
leirao <lei.rao@intel.com> wrote:

> From: Rao, Lei <lei.rao@intel.com>
> 
> Changes since v5:
>         --Replaced g_slice_new calls with g_slice_new0.
> 
> Changes since v4:
>         --Replaced qemu_mutex_lock calls with QEMU_LOCK_GUARD in colo_bitmap_clear_dirty.
>         --Modify some minor issues about variable definition.
>         --Add some performance test data in the commit message.
> 
> Changes since v3:
>         --Remove cpu_throttle_stop from mig_throttle_counter_reset.
> 
> Changes since v2:
>         --Add a function named packet_new_nocopy.
>         --Continue to optimize the function of colo_flush_ram_cache.
> 
> Changes since v1:
>         --Reset the state of the auto-converge counters at every checkpoint instead of directly disabling.
>         --Treat the filter_send function returning zero as a normal case.
> 
> The series of patches include:
>         Fixed some bugs of qemu crash.
>         Optimized some code to reduce the time of checkpoint.
>         Remove some unnecessary code to improve COLO.
> 
> Rao, Lei (10):
>   Remove some duplicate trace code.
>   Fix the qemu crash when guest shutdown during checkpoint
>   Optimize the function of filter_send
>   Remove migrate_set_block_enabled in checkpoint
>   Add a function named packet_new_nocopy for COLO.
>   Add the function of colo_compare_cleanup
>   Reset the auto-converge counter at every checkpoint.
>   Reduce the PVM stop time during Checkpoint
>   Add the function of colo_bitmap_clear_dirty
>   Fixed calculation error of pkt->header_size in fill_pkt_tcp_info()
> 
>  migration/colo.c      | 10 +++----
>  migration/migration.c |  4 +++
>  migration/ram.c       | 83 +++++++++++++++++++++++++++++++++++++++++++++++++--
>  migration/ram.h       |  1 +
>  net/colo-compare.c    | 25 +++++++---------
>  net/colo-compare.h    |  1 +
>  net/colo.c            | 25 +++++++++++-----
>  net/colo.h            |  1 +
>  net/filter-mirror.c   |  8 ++---
>  net/filter-rewriter.c |  3 +-
>  net/net.c             |  4 +++
>  softmmu/runstate.c    |  1 +
>  12 files changed, 129 insertions(+), 37 deletions(-)
> 

I guess Zhang Chen can already take the network-related patches through his tree.

Regards,
Lukas Straub

--
Zhang Chen May 18, 2021, 1:33 a.m. UTC | #2
> -----Original Message-----
> From: Lukas Straub <lukasstraub2@web.de>
> Sent: Tuesday, May 18, 2021 3:47 AM
> To: Rao, Lei <lei.rao@intel.com>
> Cc: Zhang, Chen <chen.zhang@intel.com>; lizhijian@cn.fujitsu.com;
> jasowang@redhat.com; quintela@redhat.com; dgilbert@redhat.com;
> pbonzini@redhat.com; qemu-devel@nongnu.org
> Subject: Re: [PATCH v6 00/10] Fixed some bugs and optimized some codes
> for COLO
> 
> On Thu,  8 Apr 2021 23:20:46 -0400
> leirao <lei.rao@intel.com> wrote:
> 
> > From: Rao, Lei <lei.rao@intel.com>
> >
> > Changes since v5:
> >         --Replaced g_slice_new calls with g_slice_new0.
> >
> > Changes since v4:
> >         --Replaced qemu_mutex_lock calls with QEMU_LOCK_GUARD in
> colo_bitmap_clear_dirty.
> >         --Modify some minor issues about variable definition.
> >         --Add some performance test data in the commit message.
> >
> > Changes since v3:
> >         --Remove cpu_throttle_stop from mig_throttle_counter_reset.
> >
> > Changes since v2:
> >         --Add a function named packet_new_nocopy.
> >         --Continue to optimize the function of colo_flush_ram_cache.
> >
> > Changes since v1:
> >         --Reset the state of the auto-converge counters at every checkpoint
> instead of directly disabling.
> >         --Treat the filter_send function returning zero as a normal case.
> >
> > The series of patches include:
> >         Fixed some bugs of qemu crash.
> >         Optimized some code to reduce the time of checkpoint.
> >         Remove some unnecessary code to improve COLO.
> >
> > Rao, Lei (10):
> >   Remove some duplicate trace code.
> >   Fix the qemu crash when guest shutdown during checkpoint
> >   Optimize the function of filter_send
> >   Remove migrate_set_block_enabled in checkpoint
> >   Add a function named packet_new_nocopy for COLO.
> >   Add the function of colo_compare_cleanup
> >   Reset the auto-converge counter at every checkpoint.
> >   Reduce the PVM stop time during Checkpoint
> >   Add the function of colo_bitmap_clear_dirty
> >   Fixed calculation error of pkt->header_size in fill_pkt_tcp_info()
> >
> >  migration/colo.c      | 10 +++----
> >  migration/migration.c |  4 +++
> >  migration/ram.c       | 83
> +++++++++++++++++++++++++++++++++++++++++++++++++--
> >  migration/ram.h       |  1 +
> >  net/colo-compare.c    | 25 +++++++---------
> >  net/colo-compare.h    |  1 +
> >  net/colo.c            | 25 +++++++++++-----
> >  net/colo.h            |  1 +
> >  net/filter-mirror.c   |  8 ++---
> >  net/filter-rewriter.c |  3 +-
> >  net/net.c             |  4 +++
> >  softmmu/runstate.c    |  1 +
> >  12 files changed, 129 insertions(+), 37 deletions(-)
> >
> 
> I guess Zhang Chen can already take the network-related patches through his
> tree.

Sure, I will queue the patch 1-6 and 10.
Hi Dave, can you take the patch 7-9? Or do you think it's more convenient to take all series?

Thanks
Chen 

> 
> Regards,
> Lukas Straub
> 
> --
Zhang Chen June 18, 2021, 2:52 a.m. UTC | #3
On 5/18/21 9:33 AM, Zhang, Chen wrote:
>
>> -----Original Message-----
>> From: Lukas Straub <lukasstraub2@web.de>
>> Sent: Tuesday, May 18, 2021 3:47 AM
>> To: Rao, Lei <lei.rao@intel.com>
>> Cc: Zhang, Chen <chen.zhang@intel.com>; lizhijian@cn.fujitsu.com;
>> jasowang@redhat.com; quintela@redhat.com; dgilbert@redhat.com;
>> pbonzini@redhat.com; qemu-devel@nongnu.org
>> Subject: Re: [PATCH v6 00/10] Fixed some bugs and optimized some codes
>> for COLO
>>
>> On Thu,  8 Apr 2021 23:20:46 -0400
>> leirao <lei.rao@intel.com> wrote:
>>
>>> From: Rao, Lei <lei.rao@intel.com>
>>>
>>> Changes since v5:
>>>          --Replaced g_slice_new calls with g_slice_new0.
>>>
>>> Changes since v4:
>>>          --Replaced qemu_mutex_lock calls with QEMU_LOCK_GUARD in
>> colo_bitmap_clear_dirty.
>>>          --Modify some minor issues about variable definition.
>>>          --Add some performance test data in the commit message.
>>>
>>> Changes since v3:
>>>          --Remove cpu_throttle_stop from mig_throttle_counter_reset.
>>>
>>> Changes since v2:
>>>          --Add a function named packet_new_nocopy.
>>>          --Continue to optimize the function of colo_flush_ram_cache.
>>>
>>> Changes since v1:
>>>          --Reset the state of the auto-converge counters at every checkpoint
>> instead of directly disabling.
>>>          --Treat the filter_send function returning zero as a normal case.
>>>
>>> The series of patches include:
>>>          Fixed some bugs of qemu crash.
>>>          Optimized some code to reduce the time of checkpoint.
>>>          Remove some unnecessary code to improve COLO.
>>>
>>> Rao, Lei (10):
>>>    Remove some duplicate trace code.
>>>    Fix the qemu crash when guest shutdown during checkpoint
>>>    Optimize the function of filter_send
>>>    Remove migrate_set_block_enabled in checkpoint
>>>    Add a function named packet_new_nocopy for COLO.
>>>    Add the function of colo_compare_cleanup
>>>    Reset the auto-converge counter at every checkpoint.
>>>    Reduce the PVM stop time during Checkpoint
>>>    Add the function of colo_bitmap_clear_dirty
>>>    Fixed calculation error of pkt->header_size in fill_pkt_tcp_info()
>>>
>>>   migration/colo.c      | 10 +++----
>>>   migration/migration.c |  4 +++
>>>   migration/ram.c       | 83
>> +++++++++++++++++++++++++++++++++++++++++++++++++--
>>>   migration/ram.h       |  1 +
>>>   net/colo-compare.c    | 25 +++++++---------
>>>   net/colo-compare.h    |  1 +
>>>   net/colo.c            | 25 +++++++++++-----
>>>   net/colo.h            |  1 +
>>>   net/filter-mirror.c   |  8 ++---
>>>   net/filter-rewriter.c |  3 +-
>>>   net/net.c             |  4 +++
>>>   softmmu/runstate.c    |  1 +
>>>   12 files changed, 129 insertions(+), 37 deletions(-)
>>>
>> I guess Zhang Chen can already take the network-related patches through his
>> tree.
> Sure, I will queue the patch 1-6 and 10.
> Hi Dave, can you take the patch 7-9? Or do you think it's more convenient to take all series?


Hi David,


The 1-6 and 10 already been merged in upstream.

Can you please pick up the rest of this series?

By the way, If you have time, Lei submitted a new series of patch still 
need your comments,


Thanks

Chen


> Thanks
> Chen
>
>> Regards,
>> Lukas Straub
>>
>> --
>