qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v3 00/14] File-based migration support and fixed-ram features


From: Claudio Fontana
Subject: Re: [PATCH v3 00/14] File-based migration support and fixed-ram features
Date: Thu, 9 Feb 2023 14:32:01 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.4.0

Hello Daniel and all,

resurrecting this series from end of last year,

do we think that this is the right approach and first step to be able to 
provide good performance for virsh save and virsh restore?

For reference, our previous attempt to get the performance for our use case 
(libvirt + qemu virsh save and restore under 5 seconds for a 30GB VM on NVMe 
disk) is here:

https://listman.redhat.com/archives/libvir-list/2022-June/232252.html

However since the option of a libvirt-only solution is not acceptable for 
upstream libvirt, Nikolay's attempt to create a file:/// migration target in 
QEMU
seemed to be the next preparatory step.

Do we still agree on this way forward, any comments? Thanks,

Claudio

On 10/28/22 12:39, Nikolay Borisov wrote:
> Here's the 3rd version of file-based migration support [0]. For background
> check the cover letter of the initial. The main changes are :
> 
> - Updated commit message as per Daniel Berrange's suggestino for Patches 1-2
> 
> - Fixed tab in various pages
> 
> - Added comments better explaining how json_writer_start_object in
> qemu_savevm_state_header is matched and also squashed the analyze-migration.py
> parts into patch 3
> 
> - Reworked the way pwritv/preadv are introduced. Now there are generic
> callbacks in QIOChannel that are implemented for the QIOChannelFile.
> 
> - Separated the introduction of QEMUFile-related helpers from the patch
> introducing the io interfaces.
> 
> - Added qtests for the file-based migration as well as for the fixed-ram
> feature.
> 
> [0] 
> https://lore.kernel.org/qemu-devel/20221004123733.2745519-1-nborisov@suse.com/
> 
> Nikolay Borisov (14):
>   migration: support file: uri for source migration
>   migration: Add support for 'file:' uri for incoming migration
>   migration: Initial support of fixed-ram feature for
>     analyze-migration.py
>   io: Add generic pwritev/preadv interface
>   io: implement io_pwritev for QIOChannelFile
>   io: add and implement QIO_CHANNEL_FEATURE_SEEKABLE for channel file
>   migration/qemu-file: add utility methods for working with seekable
>     channels
>   io: Add preadv support to QIOChannelFile
>   migration: add qemu_get_buffer_at
>   migration/ram: Introduce 'fixed-ram' migration stream capability
>   migration: Refactor precopy ram loading code
>   migration: Add support for 'fixed-ram' migration restore
>   tests: Add migrate_incoming_qmp helper
>   tests/qtest: migration-test: Add tests for file-based migration
> 
>  include/exec/ramblock.h             |   7 +
>  include/io/channel.h                |  50 +++++
>  include/migration/qemu-file-types.h |   2 +
>  io/channel-file.c                   |  61 ++++++
>  io/channel.c                        |  26 +++
>  migration/file.c                    |  38 ++++
>  migration/file.h                    |  10 +
>  migration/meson.build               |   1 +
>  migration/migration.c               |  61 +++++-
>  migration/migration.h               |   6 +
>  migration/qemu-file.c               |  82 +++++++
>  migration/qemu-file.h               |   4 +
>  migration/ram.c                     | 328 +++++++++++++++++++++-------
>  migration/savevm.c                  |  48 ++--
>  qapi/migration.json                 |   2 +-
>  scripts/analyze-migration.py        |  49 ++++-
>  tests/qtest/migration-helpers.c     |  19 ++
>  tests/qtest/migration-helpers.h     |   4 +
>  tests/qtest/migration-test.c        |  46 ++++
>  19 files changed, 743 insertions(+), 101 deletions(-)
>  create mode 100644 migration/file.c
>  create mode 100644 migration/file.h
> 
> --
> 2.34.1
> 
> 




reply via email to

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