qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v11 00/10] migration: Modify 'migrate' and 'migrate-incoming' QAPI commands for migration
@ 2023-10-04  7:58 Het Gala
  2023-10-04  7:58 ` [PATCH v11 01/10] migration: New QAPI type 'MigrateAddress' Het Gala
                   ` (10 more replies)
  0 siblings, 11 replies; 38+ messages in thread
From: Het Gala @ 2023-10-04  7:58 UTC (permalink / raw)
  To: qemu-devel
  Cc: prerna.saxena, quintela, dgilbert, pbonzini, berrange, armbru,
	eblake, farosas, manish.mishra, aravind.retnakaran, Het Gala

This is v11 patchset of modified 'migrate' and 'migrate-incoming' QAPI design
for upstream review.

Update: Daniel has reviewed all patches and is okay with them. Markus has also
        given Acked-by tag for patches related to QAPI syntax change.
Fabiano, Juan and other migration maintainers, let me know if there are still
improvements to be made in this patchset series.

Link to previous upstream community patchset links:
v1: https://lists.gnu.org/archive/html/qemu-devel/2022-12/msg04339.html
v2: https://lists.gnu.org/archive/html/qemu-devel/2023-02/msg02106.html
v3: https://lists.gnu.org/archive/html/qemu-devel/2023-02/msg02473.html
v4: https://lists.gnu.org/archive/html/qemu-devel/2023-05/msg03064.html
v5: https://lists.gnu.org/archive/html/qemu-devel/2023-05/msg04845.html
v6: https://lists.gnu.org/archive/html/qemu-devel/2023-06/msg01251.html
v7: https://lists.gnu.org/archive/html/qemu-devel/2023-07/msg02027.html
v8: https://lists.gnu.org/archive/html/qemu-devel/2023-07/msg02770.html
v9: https://lists.gnu.org/archive/html/qemu-devel/2023-07/msg04216.html
v10: https://lists.gnu.org/archive/html/qemu-devel/2023-07/msg05022.html

v10 -> v11 changelog:
-------------------
- Resolved make check errors as its been almost two months since v10
  version of this patchset series went out. Till date migration workflow
  might have changed which caused make check errors.

Abstract:
---------

Current QAPI 'migrate' command design (for initiating a migration
stream) contains information regarding different migrate transport mechanism
(tcp / unix / exec), dest-host IP address, and binding port number in form of
a string. Thus the design does seem to have some design issues. Some of the
issues, stated below are:

1. Use of string URIs is a data encoding scheme within a data encoding scheme.
   QEMU code should directly be able to work with the results from QAPI,
   without resorting to do a second level of parsing (eg. socket_parse()).
2. For features / parameters related to migration, the migration tunables needs
   to be defined and updated upfront. For example, 'migrate-set-capability'
   and 'migrate-set-parameter' is required to enable multifd capability and
   multifd-number of channels respectively. Instead, 'Multifd-channels' can
   directly be represented as a single additional parameter to 'migrate'
   QAPI. 'migrate-set-capability' and 'migrate-set-parameter' commands could
   be used for runtime tunables that need setting after migration has already
   started.

The current patchset focuses on solving the first problem of multi-level
encoding of URIs. The patch defines 'migrate' command as a QAPI discriminated
union for the various transport backends (like socket, exec and rdma), and on
basis of transport backends, different migration parameters are defined.

(uri) string -->  (channel) Channel-type
                            Transport-type
                            Migration parameters based on transport type
------------------------------------------------------------------------------

Het Gala (10):
  migration: New QAPI type 'MigrateAddress'
  migration: convert migration 'uri' into 'MigrateAddress'
  migration: convert socket backend to accept MigrateAddress
  migration: convert rdma backend to accept MigrateAddress
  migration: convert exec backend to accept MigrateAddress.
  migration: New migrate and migrate-incoming argument 'channels'
  migration: modify migration_channels_and_uri_compatible() for new QAPI
    syntax
  migration: Implement MigrateChannelList to qmp migration flow.
  migration: Implement MigrateChannelList to hmp migration flow.
  migration: modify test_multifd_tcp_none() to use new QAPI syntax.

 migration/exec.c               |  72 +++++++++----
 migration/exec.h               |   8 +-
 migration/migration-hmp-cmds.c |  17 ++-
 migration/migration.c          | 190 ++++++++++++++++++++++++++-------
 migration/migration.h          |   3 +-
 migration/rdma.c               |  34 +++---
 migration/rdma.h               |   6 +-
 migration/socket.c             |  39 ++-----
 migration/socket.h             |   7 +-
 qapi/migration.json            | 150 +++++++++++++++++++++++++-
 softmmu/vl.c                   |   2 +-
 tests/qtest/migration-test.c   |   7 +-
 12 files changed, 409 insertions(+), 126 deletions(-)

-- 
2.22.3



^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2023-10-10  5:20 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-04  7:58 [PATCH v11 00/10] migration: Modify 'migrate' and 'migrate-incoming' QAPI commands for migration Het Gala
2023-10-04  7:58 ` [PATCH v11 01/10] migration: New QAPI type 'MigrateAddress' Het Gala
2023-10-04  7:58 ` [PATCH v11 02/10] migration: convert migration 'uri' into 'MigrateAddress' Het Gala
2023-10-04 11:48   ` Juan Quintela
2023-10-04 11:52   ` Juan Quintela
2023-10-04 14:43   ` Fabiano Rosas
2023-10-04 17:58     ` Daniel P. Berrangé
2023-10-04 18:12       ` Fabiano Rosas
2023-10-07 11:35         ` Het Gala
2023-10-09 14:13           ` Fabiano Rosas
2023-10-09 15:06             ` Het Gala
2023-10-07  9:01     ` Het Gala
2023-10-04  7:58 ` [PATCH v11 03/10] migration: convert socket backend to accept MigrateAddress Het Gala
2023-10-04  7:58 ` [PATCH v11 04/10] migration: convert rdma " Het Gala
2023-10-04  7:58 ` [PATCH v11 05/10] migration: convert exec " Het Gala
2023-10-04 14:55   ` Fabiano Rosas
2023-10-07 12:36     ` Het Gala
2023-10-04  7:58 ` [PATCH v11 06/10] migration: New migrate and migrate-incoming argument 'channels' Het Gala
2023-10-04  7:58 ` [PATCH v11 07/10] migration: modify migration_channels_and_uri_compatible() for new QAPI syntax Het Gala
2023-10-04  7:58 ` [PATCH v11 08/10] migration: Implement MigrateChannelList to qmp migration flow Het Gala
2023-10-04 15:21   ` Fabiano Rosas
2023-10-07 16:25     ` Het Gala
2023-10-09 14:29       ` Fabiano Rosas
2023-10-10  5:17         ` Het Gala
2023-10-04  7:58 ` [PATCH v11 09/10] migration: Implement MigrateChannelList to hmp " Het Gala
2023-10-04 15:25   ` Fabiano Rosas
2023-10-07 16:56     ` Het Gala
2023-10-09 14:35       ` Fabiano Rosas
2023-10-10  5:20         ` Het Gala
2023-10-04  7:58 ` [PATCH v11 10/10] migration: modify test_multifd_tcp_none() to use new QAPI syntax Het Gala
2023-10-04 15:25   ` Fabiano Rosas
2023-10-09 13:17     ` Het Gala
2023-10-04 13:33 ` [PATCH v11 00/10] migration: Modify 'migrate' and 'migrate-incoming' QAPI commands for migration Fabiano Rosas
2023-10-04 13:45   ` Het Gala
2023-10-04 14:03     ` Fabiano Rosas
2023-10-04 15:32       ` Fabiano Rosas
2023-10-09 13:25         ` Het Gala
2023-10-06 16:17       ` Het Gala

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).