[PULL 00/21] Migration 20230530 patches

Juan Quintela posted 21 patches 11 months, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230530115429.1998-1-quintela@redhat.com
Maintainers: Juan Quintela <quintela@redhat.com>, Peter Xu <peterx@redhat.com>, Leonardo Bras <leobras@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
There is a newer version of this series
include/migration/global_state.h |   2 +-
include/sysemu/runstate.h        |   2 +-
migration/migration-stats.h      |   4 +
migration/migration.h            |  12 +-
migration/options.h              |   1 +
migration/qemu-file.h            |  59 ----------
migration/rdma.h                 |  34 ++++++
migration/global_state.c         |  29 +++--
migration/migration-stats.c      |   5 +-
migration/migration.c            |  55 +++++----
migration/options.c              |   7 ++
migration/qemu-file.c            |  69 +-----------
migration/ram.c                  |  66 ++++++-----
migration/rdma.c                 | 185 +++++++++++++++----------------
migration/savevm.c               |   6 +-
softmmu/runstate.c               |  25 ++---
migration/trace-events           |  30 ++---
17 files changed, 260 insertions(+), 331 deletions(-)
[PULL 00/21] Migration 20230530 patches
Posted by Juan Quintela 11 months, 2 weeks ago
The following changes since commit aa9bbd865502ed517624ab6fe7d4b5d89ca95e43:

  Merge tag 'pull-ppc-20230528' of https://gitlab.com/danielhb/qemu into staging (2023-05-29 14:31:52 -0700)

are available in the Git repository at:

  https://gitlab.com/juan.quintela/qemu.git tags/migration-20230530-pull-request

for you to fetch changes up to d83da4626ebc1462e8f0065d446f97aece681d90:

  migration/rdma: Check sooner if we are in postcopy for save_page() (2023-05-30 13:27:54 +0200)

----------------------------------------------------------------
Migration 20230530 Pull request

Hi

On this PULL request:

- Set vmstate migration failure right (vladimir)
- Migration QEMUFileHook removal (juan)
- Migration Atomic counters (juan)

Please apply.

----------------------------------------------------------------

Juan Quintela (16):
  migration: Don't abuse qemu_file transferred for RDMA
  migration/RDMA: It is accounting for zero/normal pages in two places
  migration/rdma: Remove QEMUFile parameter when not used
  migration/rdma: Don't use imaginary transfers
  migration: Remove unused qemu_file_credit_transfer()
  migration/rdma: Simplify the function that saves a page
  migration: Create migrate_rdma()
  migration/rdma: Unfold ram_control_before_iterate()
  migration/rdma: Unfold ram_control_after_iterate()
  migration/rdma: Remove all uses of RAM_CONTROL_HOOK
  migration/rdma: Unfold hook_ram_load()
  migration/rdma: Create rdma_control_save_page()
  qemu-file: Remove QEMUFileHooks
  migration/rdma: Move rdma constants from qemu-file.h to rdma.h
  migration/rdma: Remove qemu_ prefix from exported functions
  migration/rdma: Check sooner if we are in postcopy for save_page()

Vladimir Sementsov-Ogievskiy (5):
  runstate: add runstate_get()
  migration: never fail in global_state_store()
  runstate: drop unused runstate_store()
  migration: switch from .vm_was_running to .vm_old_state
  migration: restore vmstate on migration failure

 include/migration/global_state.h |   2 +-
 include/sysemu/runstate.h        |   2 +-
 migration/migration-stats.h      |   4 +
 migration/migration.h            |  12 +-
 migration/options.h              |   1 +
 migration/qemu-file.h            |  59 ----------
 migration/rdma.h                 |  34 ++++++
 migration/global_state.c         |  29 +++--
 migration/migration-stats.c      |   5 +-
 migration/migration.c            |  55 +++++----
 migration/options.c              |   7 ++
 migration/qemu-file.c            |  69 +-----------
 migration/ram.c                  |  66 ++++++-----
 migration/rdma.c                 | 185 +++++++++++++++----------------
 migration/savevm.c               |   6 +-
 softmmu/runstate.c               |  25 ++---
 migration/trace-events           |  30 ++---
 17 files changed, 260 insertions(+), 331 deletions(-)

-- 
2.40.1
Re: [PULL 00/21] Migration 20230530 patches
Posted by Richard Henderson 11 months, 2 weeks ago
On 5/30/23 04:54, Juan Quintela wrote:
> The following changes since commit aa9bbd865502ed517624ab6fe7d4b5d89ca95e43:
> 
>    Merge tag 'pull-ppc-20230528' ofhttps://gitlab.com/danielhb/qemu  into staging (2023-05-29 14:31:52 -0700)
> 
> are available in the Git repository at:
> 
>    https://gitlab.com/juan.quintela/qemu.git  tags/migration-20230530-pull-request
> 
> for you to fetch changes up to d83da4626ebc1462e8f0065d446f97aece681d90:
> 
>    migration/rdma: Check sooner if we are in postcopy for save_page() (2023-05-30 13:27:54 +0200)
> 
> ----------------------------------------------------------------
> Migration 20230530 Pull request
> 
> Hi
> 
> On this PULL request:
> 
> - Set vmstate migration failure right (vladimir)
> - Migration QEMUFileHook removal (juan)
> - Migration Atomic counters (juan)
> 
> Please apply.

Fails immediately:

In file included from ../src/migration/ram.c:61:
../src/migration/rdma.h:52:5: error: no previous prototype for ‘rdma_registration_handle’ 
[-Werror=missing-prototypes]
    52 | int rdma_registration_handle(QEMUFile *f) { return 0; }
       |     ^~~~~~~~~~~~~~~~~~~~~~~~
../src/migration/rdma.h:53:5: error: no previous prototype for ‘rdma_registration_start’ 
[-Werror=missing-prototypes]
    53 | int rdma_registration_start(QEMUFile *f, uint64_t flags) { return 0; }
       |     ^~~~~~~~~~~~~~~~~~~~~~~
../src/migration/rdma.h:54:5: error: no previous prototype for ‘rdma_registration_stop’ 
[-Werror=missing-prototypes]
    54 | int rdma_registration_stop(QEMUFile *f, uint64_t flags) { return 0; }
       |     ^~~~~~~~~~~~~~~~~~~~~~
../src/migration/rdma.h:55:5: error: no previous prototype for 
‘rdma_block_notification_handle’ [-Werror=missing-prototypes]
    55 | int rdma_block_notification_handle(QEMUFile *f, const char *name) { return 0; }
       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/migration/rdma.h:56:5: error: no previous prototype for ‘rdma_control_save_page’ 
[-Werror=missing-prototypes]
    56 | int rdma_control_save_page(QEMUFile *f, ram_addr_t block_offset,
       |     ^~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors


r~

Re: [PULL 00/21] Migration 20230530 patches
Posted by Juan Quintela 11 months, 2 weeks ago
Richard Henderson <richard.henderson@linaro.org> wrote:
> On 5/30/23 04:54, Juan Quintela wrote:
>> The following changes since commit aa9bbd865502ed517624ab6fe7d4b5d89ca95e43:
>>    Merge tag 'pull-ppc-20230528' ofhttps://gitlab.com/danielhb/qemu
>> into staging (2023-05-29 14:31:52 -0700)
>> are available in the Git repository at:
>>    https://gitlab.com/juan.quintela/qemu.git
>> tags/migration-20230530-pull-request
>> for you to fetch changes up to
>> d83da4626ebc1462e8f0065d446f97aece681d90:
>>    migration/rdma: Check sooner if we are in postcopy for
>> save_page() (2023-05-30 13:27:54 +0200)
>> ----------------------------------------------------------------
>> Migration 20230530 Pull request
>> Hi
>> On this PULL request:
>> - Set vmstate migration failure right (vladimir)
>> - Migration QEMUFileHook removal (juan)
>> - Migration Atomic counters (juan)
>> Please apply.
>
> Fails immediately:

And here I am, not checking !CONFIG_RDMA

Sorry.

> In file included from ../src/migration/ram.c:61:
> ../src/migration/rdma.h:52:5: error: no previous prototype for
> ‘rdma_registration_handle’ [-Werror=missing-prototypes]
>    52 | int rdma_registration_handle(QEMUFile *f) { return 0; }
>       |     ^~~~~~~~~~~~~~~~~~~~~~~~
> ../src/migration/rdma.h:53:5: error: no previous prototype for
> ‘rdma_registration_start’ [-Werror=missing-prototypes]
>    53 | int rdma_registration_start(QEMUFile *f, uint64_t flags) { return 0; }
>       |     ^~~~~~~~~~~~~~~~~~~~~~~
> ../src/migration/rdma.h:54:5: error: no previous prototype for
> ‘rdma_registration_stop’ [-Werror=missing-prototypes]
>    54 | int rdma_registration_stop(QEMUFile *f, uint64_t flags) { return 0; }
>       |     ^~~~~~~~~~~~~~~~~~~~~~
> ../src/migration/rdma.h:55:5: error: no previous prototype for
> ‘rdma_block_notification_handle’ [-Werror=missing-prototypes]
>    55 | int rdma_block_notification_handle(QEMUFile *f, const char *name) { return 0; }
>       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../src/migration/rdma.h:56:5: error: no previous prototype for
> ‘rdma_control_save_page’ [-Werror=missing-prototypes]
>    56 | int rdma_control_save_page(QEMUFile *f, ram_addr_t block_offset,
>       |     ^~~~~~~~~~~~~~~~~~~~~~
> cc1: all warnings being treated as errors
>
>
> r~