[PATCH v2 00/20] Next round of migration atomic counters

Juan Quintela posted 20 patches 11 months, 1 week ago
Failed in applying to current master (apply log)
migration/migration-stats.h | 16 ++++-----
migration/qemu-file.h       | 31 +++---------------
migration/colo.c            | 11 ++-----
migration/migration-stats.c | 10 +++---
migration/migration.c       | 17 ++++------
migration/multifd.c         |  3 --
migration/qemu-file.c       | 65 ++++++++++---------------------------
migration/ram.c             | 29 ++++++-----------
migration/rdma.c            | 39 ++++++++++------------
migration/savevm.c          |  7 ++--
migration/vmstate.c         |  4 +--
11 files changed, 73 insertions(+), 159 deletions(-)
[PATCH v2 00/20] Next round of migration atomic counters
Posted by Juan Quintela 11 months, 1 week ago
Hi

On this v2:

- dropped qemu_fflush() assert for read only files (make Richard
  happy)

- Update documentation for qemu_file_transferred (make Fabiano happy)

- migration/rdma: Remove qemu_fopen_rdma() and make it look like
  everything else

- Simplify a couple of qemu-file functions, and unexport the ones that
  are not used outside of qemu-file.c

- Added Reviewed-by comments.

Please review.

Thanks, Juan.

[v1]
On this series:

- Make sure that qemu_file_transferred() make sense and its used
  coherently

- Use stat64 for qemu_file_transferred(), so we can call the function
  from any thread.

- Don't account for the same transfer twice (i.e. it is multifd_bytes,
  rdma_bytes or qemu_file_bytes) qemu_file_transferred() just sums all
  of them.

- Use this new counter for rate_limit()

- Remove old trasferred stat64 (now we use the real thing)

- Simplify qemu_file_get_error(): see where next cleanups are coming

- As an example, qemu_fflush() now return errors.

Please review.

Later, Juan.

Based-on: Message-Id: <20230530115429.1998-1-quintela@redhat.com>
Subject: [PULL 00/21] Migration 20230530 patches

Juan Quintela (20):
  qemu-file: Rename qemu_file_transferred_ fast -> noflush
  migration: Change qemu_file_transferred to noflush
  migration: Use qemu_file_transferred_noflush() for block migration.
  qemu-file: We only call qemu_file_transferred_* on the sending side
  qemu_file: Use a stat64 for qemu_file_transferred
  qemu_file: total_transferred is not used anymore
  migration: Use the number of transferred bytes directly
  qemu_file: Remove unused qemu_file_transferred()
  qemu-file: Remove _noflush from qemu_file_transferred_noflush()
  migration: migration_transferred_bytes() don't need the QEMUFile
  migration: migration_rate_limit_reset() don't need the QEMUFile
  qemu-file: Simplify qemu_file_get_error()
  migration: Use migration_transferred_bytes()
  migration: Remove transferred atomic counter
  qemu-file: Make qemu_fflush() return errors
  migration/rdma: Split qemu_fopen_rdma() into input/output functions
  qemu-file: Remove unused qemu_file_mode_is_not_valid()
  qemu_file: Make qemu_file_is_writable() static
  qemu-file: Simplify qemu_file_shutdown()
  qemu-file: Make qemu_file_get_error_obj() static

 migration/migration-stats.h | 16 ++++-----
 migration/qemu-file.h       | 31 +++---------------
 migration/colo.c            | 11 ++-----
 migration/migration-stats.c | 10 +++---
 migration/migration.c       | 17 ++++------
 migration/multifd.c         |  3 --
 migration/qemu-file.c       | 65 ++++++++++---------------------------
 migration/ram.c             | 29 ++++++-----------
 migration/rdma.c            | 39 ++++++++++------------
 migration/savevm.c          |  7 ++--
 migration/vmstate.c         |  4 +--
 11 files changed, 73 insertions(+), 159 deletions(-)

-- 
2.40.1
Re: [PATCH v2 00/20] Next round of migration atomic counters
Posted by Fiona Ebner 11 months, 1 week ago
Am 30.05.23 um 20:39 schrieb Juan Quintela:
> Hi
> 
> On this v2:
> 
> - dropped qemu_fflush() assert for read only files (make Richard
>   happy)
> 
> - Update documentation for qemu_file_transferred (make Fabiano happy)
> 
> - migration/rdma: Remove qemu_fopen_rdma() and make it look like
>   everything else
> 
> - Simplify a couple of qemu-file functions, and unexport the ones that
>   are not used outside of qemu-file.c
> 
> - Added Reviewed-by comments.
> 
> Please review.
> 
Hi,
I don't notice any performance regression with snapshots anymore with
this series :)

Note that I had to apply your PULL patches from yesterday too, to be
able to apply this series:
https://lists.nongnu.org/archive/html/qemu-devel/2023-05/msg07361.html

Best Regards,
Fiona
Re: [PATCH v2 00/20] Next round of migration atomic counters
Posted by Juan Quintela 11 months, 1 week ago
Fiona Ebner <f.ebner@proxmox.com> wrote:
> Am 30.05.23 um 20:39 schrieb Juan Quintela:
>> Hi
>> 
>> On this v2:
>> 
>> - dropped qemu_fflush() assert for read only files (make Richard
>>   happy)
>> 
>> - Update documentation for qemu_file_transferred (make Fabiano happy)
>> 
>> - migration/rdma: Remove qemu_fopen_rdma() and make it look like
>>   everything else
>> 
>> - Simplify a couple of qemu-file functions, and unexport the ones that
>>   are not used outside of qemu-file.c
>> 
>> - Added Reviewed-by comments.
>> 
>> Please review.
>> 
> Hi,
> I don't notice any performance regression with snapshots anymore with
> this series :)
>
> Note that I had to apply your PULL patches from yesterday too, to be
> able to apply this series:
> https://lists.nongnu.org/archive/html/qemu-devel/2023-05/msg07361.html

I know, thanks.

Later, Juan.