> From: Qemu-devel <qemu-devel-
> [email protected]> On Behalf Of Juan Quintela
> Sent: Monday, 3 October 2022 6:16
> To: [email protected]
> Cc: Alex Williamson <[email protected]>; Eric Blake
> <[email protected]>; Stefan Hajnoczi <[email protected]>; Fam
> Zheng <[email protected]>; [email protected]; Cornelia Huck
> <[email protected]>; Thomas Huth <[email protected]>; Vladimir
> Sementsov-Ogievskiy <[email protected]>; Laurent Vivier
> <[email protected]>; John Snow <[email protected]>; Dr. David Alan
> Gilbert <[email protected]>; Christian Borntraeger
> <[email protected]>; Halil Pasic <[email protected]>; Juan
> Quintela <[email protected]>; Paolo Bonzini <[email protected]>;
> [email protected]; Eric Farman <[email protected]>; Richard
> Henderson <[email protected]>; David Hildenbrand
> <[email protected]>
> Subject: [RFC 0/7] migration patches for VFIO
> 
> Hi
> 
> VFIO migration has several requirements:
> - the size of the state is only known when the guest is stopped

As was discussed in the conference call, I just sent a patch to the kernel 
mailing list to be able to get the state size in each state.

See:
https://patchwork.kernel.org/project/kvm/patch/[email protected]/

This can drop the need to stop the guest and ask for that data.

So, I assume that you can drop some complexity and hacks from your RFC once 
you'll send the next series.

Specifically,
No need to stop the VM and re-start it in case the SLA can't meet, just read 
upon RUNNING the estimated data length that will be required to complete 
STOP_COPY and use it.

Yishai

> - they need to send possible lots of data.
> 
> this series only address the 1st set of problems.
> 
> What they do:
> - res_compatible parameter was not used anywhere, just add that
> information to res_postcopy.
> - Remove QEMUFILE parameter from save_live_pending
> - Split save_live_pending into
>   * save_pending_estimate(): the pending state size without trying too hard
>   * save_pending_exact(): the real pending state size, it is called with the
> guest stopped.
> - Now save_pending_* don't need the threshold parameter
> - HACK a way to stop the guest before moving there.
> 
> ToDo:
> - autoconverge test is broken, no real clue why, but it is possible that the 
> test
> is wrong.
> 
> - Make an artifact to be able to send massive amount of data in the save
> state stage (probably more multifd channels).
> 
> - Be able to not having to start the guest between cheking the state pending
> size and migration_completion().
> 
> Please review.
> 
> Thanks, Juan.
> 
> Juan Quintela (7):
>   migration: Remove res_compatible parameter
>   migration: No save_live_pending() method uses the QEMUFile parameter
>   migration: Block migration comment or code is wrong
>   migration: Split save_live_pending() into state_pending_*
>   migration: Remove unused threshold_size parameter
>   migration: simplify migration_iteration_run()
>   migration: call qemu_savevm_state_pending_exact() with the guest
>     stopped
> 
>  docs/devel/migration.rst       | 18 ++++++------
>  docs/devel/vfio-migration.rst  |  4 +--
>  include/migration/register.h   | 29 ++++++++++---------
>  migration/savevm.h             |  8 +++---
>  hw/s390x/s390-stattrib.c       | 11 ++++---
>  hw/vfio/migration.c            | 17 +++++------
>  migration/block-dirty-bitmap.c | 14 ++++-----
>  migration/block.c              | 17 ++++++-----
>  migration/migration.c          | 52 ++++++++++++++++++++++------------
>  migration/ram.c                | 35 ++++++++++++++++-------
>  migration/savevm.c             | 37 +++++++++++++++++-------
>  tests/qtest/migration-test.c   |  3 +-
>  hw/vfio/trace-events           |  2 +-
>  migration/trace-events         |  7 +++--
>  14 files changed, 148 insertions(+), 106 deletions(-)
> 
> --
> 2.37.2
> 

Reply via email to