mbox series

[0/6] migration: Add 'no-ram' and 'ram-only' cpabilities

Message ID 20211224111148.345438-1-nikita.lapshin@virtuozzo.com (mailing list archive)
Headers show
Series migration: Add 'no-ram' and 'ram-only' cpabilities | expand

Message

Nikta Lapshin Dec. 24, 2021, 11:11 a.m. UTC
We want to implement exteranl bg-snapshot tool for saving RAM. For this it
is important to be able manage migration stream because tool has no idea
about non-RAM part and its size.

Possible solution is to send RAM separately. This can be done with
implemented RAM capabilities. These capabilities allow to send only RAM part
or non-RAM part so tool can save non-RAM part without special handlers.
RAM will be saved with special handlers for postcopy load.

Nikita Lapshin (6):
  migration: is_ram changed to is_iterable
  migration: should_skip() implemented
  migration: Add no-ram capability
  migration: Add ram-only capability
  migration: analyze-migration script changed
  migration: Test for ram capabilities

 migration/migration.c                         | 29 +++++-
 migration/migration.h                         |  2 +
 migration/ram.c                               |  6 ++
 migration/savevm.c                            | 63 ++++++------
 qapi/migration.json                           | 11 ++-
 scripts/analyze-migration.py                  | 19 ++--
 .../tests/migrate-ram-capabilities-test       | 96 +++++++++++++++++++
 .../tests/migrate-ram-capabilities-test.out   |  5 +
 8 files changed, 192 insertions(+), 39 deletions(-)
 create mode 100755 tests/qemu-iotests/tests/migrate-ram-capabilities-test
 create mode 100644 tests/qemu-iotests/tests/migrate-ram-capabilities-test.out