[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 05/13] migration/ram: Handle RAM block resizes during prec
From: |
Peter Xu |
Subject: |
Re: [PATCH v2 05/13] migration/ram: Handle RAM block resizes during precopy |
Date: |
Mon, 24 Feb 2020 17:27:22 -0500 |
On Fri, Feb 21, 2020 at 05:41:56PM +0100, David Hildenbrand wrote:
> Resizing while migrating is dangerous and does not work as expected.
> The whole migration code works on the usable_length of ram blocks and does
> not expect this to change at random points in time.
>
> In the case of precopy, the ram block size must not change on the source,
> after syncing the RAM block list in ram_save_setup(), so as long as the
> guest is still running on the source.
>
> Resizing can be trigger *after* (but not during) a reset in
> ACPI code by the guest
> - hw/arm/virt-acpi-build.c:acpi_ram_update()
> - hw/i386/acpi-build.c:acpi_ram_update()
>
> Use the ram block notifier to get notified about resizes. Let's simply
> cancel migration and indicate the reason. We'll continue running on the
> source. No harm done.
>
> Update the documentation. Postcopy will be handled separately.
>
> Cc: "Dr. David Alan Gilbert" <address@hidden>
> Cc: Juan Quintela <address@hidden>
> Cc: Eduardo Habkost <address@hidden>
> Cc: Paolo Bonzini <address@hidden>
> Cc: Igor Mammedov <address@hidden>
> Cc: "Michael S. Tsirkin" <address@hidden>
> Cc: Richard Henderson <address@hidden>
> Cc: Shannon Zhao <address@hidden>
> Cc: Alex Bennée <address@hidden>
> Cc: Peter Xu <address@hidden>
> Signed-off-by: David Hildenbrand <address@hidden>
Reviewed-by: Peter Xu <address@hidden>
--
Peter Xu
- [PATCH v2 00/13] migrate/ram: Fix resizing RAM blocks while migrating, David Hildenbrand, 2020/02/21
- [PATCH v2 01/13] util: vfio-helpers: Factor out and fix processing of existing ram blocks, David Hildenbrand, 2020/02/21
- [PATCH v2 02/13] stubs/ram-block: Remove stubs that are no longer needed, David Hildenbrand, 2020/02/21
- [PATCH v2 03/13] numa: Teach ram block notifiers about resizeable ram blocks, David Hildenbrand, 2020/02/21
- [PATCH v2 04/13] numa: Make all callbacks of ram block notifiers optional, David Hildenbrand, 2020/02/21
- [PATCH v2 05/13] migration/ram: Handle RAM block resizes during precopy, David Hildenbrand, 2020/02/21
- Re: [PATCH v2 05/13] migration/ram: Handle RAM block resizes during precopy,
Peter Xu <=
- [PATCH v2 06/13] exec: Relax range check in ram_block_discard_range(), David Hildenbrand, 2020/02/21
- [PATCH v2 08/13] migration/ram: Simplify host page handling in ram_load_postcopy(), David Hildenbrand, 2020/02/21
- [PATCH v2 07/13] migration/ram: Discard RAM when growing RAM blocks after ram_postcopy_incoming_init(), David Hildenbrand, 2020/02/21
- [PATCH v2 09/13] migration/ram: Consolidate variable reset after placement in ram_load_postcopy(), David Hildenbrand, 2020/02/21
- [PATCH v2 10/13] migration/ram: Handle RAM block resizes during postcopy, David Hildenbrand, 2020/02/21