All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] migration: Drop deprecated QMP stuff
@ 2026-01-08 12:55 Markus Armbruster
  2026-01-08 12:55 ` [PATCH 1/2] migration: Drop deprecated QMP command query-migrationthreads Markus Armbruster
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Markus Armbruster @ 2026-01-08 12:55 UTC (permalink / raw)
  To: qemu-devel; +Cc: peterx, farosas, devel, eblake

Markus Armbruster (2):
  migration: Drop deprecated QMP command query-migrationthreads
  migration: Drop deprecated QMP migrate argument @detach

 docs/about/deprecated.rst       | 13 -------
 docs/about/removed-features.rst | 14 ++++++++
 qapi/migration.json             | 38 --------------------
 migration/threadinfo.h          | 25 -------------
 migration/migration-hmp-cmds.c  |  2 +-
 migration/migration.c           |  8 +----
 migration/multifd.c             |  5 ---
 migration/threadinfo.c          | 64 ---------------------------------
 migration/meson.build           |  1 -
 9 files changed, 16 insertions(+), 154 deletions(-)
 delete mode 100644 migration/threadinfo.h
 delete mode 100644 migration/threadinfo.c

-- 
2.52.0



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

* [PATCH 1/2] migration: Drop deprecated QMP command query-migrationthreads
  2026-01-08 12:55 [PATCH 0/2] migration: Drop deprecated QMP stuff Markus Armbruster
@ 2026-01-08 12:55 ` Markus Armbruster
  2026-01-08 12:55 ` [PATCH 2/2] migration: Drop deprecated QMP migrate argument @detach Markus Armbruster
  2026-01-09 12:38 ` [PATCH 0/2] migration: Drop deprecated QMP stuff Fabiano Rosas
  2 siblings, 0 replies; 4+ messages in thread
From: Markus Armbruster @ 2026-01-08 12:55 UTC (permalink / raw)
  To: qemu-devel; +Cc: peterx, farosas, devel, eblake

Deprecated in commit 228529d1fec3 (migration: Deprecate
query-migrationthreads command), v9.2.0.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 docs/about/deprecated.rst       |  8 -----
 docs/about/removed-features.rst |  9 +++++
 qapi/migration.json             | 30 ----------------
 migration/threadinfo.h          | 25 -------------
 migration/migration.c           |  6 ----
 migration/multifd.c             |  5 ---
 migration/threadinfo.c          | 64 ---------------------------------
 migration/meson.build           |  1 -
 8 files changed, 9 insertions(+), 139 deletions(-)
 delete mode 100644 migration/threadinfo.h
 delete mode 100644 migration/threadinfo.c

diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index 7abb3dab59..e9b019b41c 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -111,14 +111,6 @@ options are removed in favor of using explicit ``blockdev-create`` and
 ``blockdev-add`` calls. See :doc:`/interop/live-block-operations` for
 details.
 
-``query-migrationthreads`` (since 9.2)
-''''''''''''''''''''''''''''''''''''''
-
-To be removed with no replacement, as it reports only a limited set of
-threads (for example, it only reports source side of multifd threads,
-without reporting any destination threads, or non-multifd source threads).
-For debugging purpose, please use ``-name $VM,debug-threads=on`` instead.
-
 ``block-job-pause`` (since 10.1)
 ''''''''''''''''''''''''''''''''
 
diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
index e81d79da47..9e5a4dcbac 100644
--- a/docs/about/removed-features.rst
+++ b/docs/about/removed-features.rst
@@ -751,6 +751,15 @@ or list arguments were silently ignored. Other argument types were not
 checked, but an implicit conversion happened, so that e.g. string
 values could be assigned to integer device properties or vice versa.
 
+``query-migrationthreads`` (removed in 11.0)
+''''''''''''''''''''''''''''''''''''''
+
+Removed with no replacement, as it reported only a limited set of
+threads (for example, it only reported source side of multifd threads,
+without reporting any destination threads, or non-multifd source
+threads).  For debugging purpose, please use ``-name
+$VM,debug-threads=on`` instead.
+
 QEMU Machine Protocol (QMP) events
 ----------------------------------
 
diff --git a/qapi/migration.json b/qapi/migration.json
index 201dedd982..7bd24e66e9 100644
--- a/qapi/migration.json
+++ b/qapi/migration.json
@@ -2054,36 +2054,6 @@
 { 'command': 'query-vcpu-dirty-limit',
   'returns': [ 'DirtyLimitInfo' ] }
 
-##
-# @MigrationThreadInfo:
-#
-# Information about migrationthreads
-#
-# @name: the name of migration thread
-#
-# @thread-id: ID of the underlying host thread
-#
-# Since: 7.2
-##
-{ 'struct': 'MigrationThreadInfo',
-  'data': {'name': 'str',
-           'thread-id': 'int'} }
-
-##
-# @query-migrationthreads:
-#
-# Return information of migration threads
-#
-# Features:
-#
-# @deprecated: This command is deprecated with no replacement yet.
-#
-# Since: 7.2
-##
-{ 'command': 'query-migrationthreads',
-  'returns': ['MigrationThreadInfo'],
-  'features': ['deprecated'] }
-
 ##
 # @snapshot-save:
 #
diff --git a/migration/threadinfo.h b/migration/threadinfo.h
deleted file mode 100644
index 2f356ff312..0000000000
--- a/migration/threadinfo.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- *  Migration Threads info
- *
- *  Copyright (c) 2022 HUAWEI TECHNOLOGIES CO., LTD.
- *
- *  Authors:
- *  Jiang Jiacheng <jiangjiacheng@huawei.com>
- *
- *  This work is licensed under the terms of the GNU GPL, version 2 or later.
- *  See the COPYING file in the top-level directory.
- */
-
-#include "qapi/error.h"
-#include "qapi/qapi-commands-migration.h"
-
-typedef struct MigrationThread MigrationThread;
-
-struct MigrationThread {
-    const char *name; /* the name of migration thread */
-    int thread_id; /* ID of the underlying host thread */
-    QLIST_ENTRY(MigrationThread) node;
-};
-
-MigrationThread *migration_threads_add(const char *name, int thread_id);
-void migration_threads_remove(MigrationThread *info);
diff --git a/migration/migration.c b/migration/migration.c
index 9d1bf5d276..94ade36574 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -59,7 +59,6 @@
 #include "net/announce.h"
 #include "qemu/queue.h"
 #include "multifd.h"
-#include "threadinfo.h"
 #include "qemu/yank.h"
 #include "system/cpus.h"
 #include "yank_functions.h"
@@ -3746,16 +3745,12 @@ static void qemu_savevm_wait_unplug(MigrationState *s, int old_state,
 static void *migration_thread(void *opaque)
 {
     MigrationState *s = opaque;
-    MigrationThread *thread = NULL;
     int64_t setup_start = qemu_clock_get_ms(QEMU_CLOCK_HOST);
     MigThrError thr_error;
     bool urgent = false;
     Error *local_err = NULL;
     int ret;
 
-    thread = migration_threads_add(MIGRATION_THREAD_SRC_MAIN,
-                                   qemu_get_thread_id());
-
     rcu_register_thread();
 
     update_iteration_initial_status(s);
@@ -3856,7 +3851,6 @@ out:
     migration_iteration_finish(s);
     object_unref(OBJECT(s));
     rcu_unregister_thread();
-    migration_threads_remove(thread);
     return NULL;
 }
 
diff --git a/migration/multifd.c b/migration/multifd.c
index bf6da85af8..8d8f23b4b9 100644
--- a/migration/multifd.c
+++ b/migration/multifd.c
@@ -29,7 +29,6 @@
 #include "qemu-file.h"
 #include "trace.h"
 #include "multifd.h"
-#include "threadinfo.h"
 #include "options.h"
 #include "qemu/yank.h"
 #include "io/channel-file.h"
@@ -662,13 +661,10 @@ int multifd_send_sync_main(MultiFDSyncReq req)
 static void *multifd_send_thread(void *opaque)
 {
     MultiFDSendParams *p = opaque;
-    MigrationThread *thread = NULL;
     Error *local_err = NULL;
     int ret = 0;
     bool use_packets = multifd_use_packets();
 
-    thread = migration_threads_add(p->name, qemu_get_thread_id());
-
     trace_multifd_send_thread_start(p->id);
     rcu_register_thread();
 
@@ -783,7 +779,6 @@ out:
     }
 
     rcu_unregister_thread();
-    migration_threads_remove(thread);
     trace_multifd_send_thread_end(p->id, p->packets_sent);
 
     return NULL;
diff --git a/migration/threadinfo.c b/migration/threadinfo.c
deleted file mode 100644
index 262990dd75..0000000000
--- a/migration/threadinfo.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- *  Migration Threads info
- *
- *  Copyright (c) 2022 HUAWEI TECHNOLOGIES CO., LTD.
- *
- *  Authors:
- *  Jiang Jiacheng <jiangjiacheng@huawei.com>
- *
- *  This work is licensed under the terms of the GNU GPL, version 2 or later.
- *  See the COPYING file in the top-level directory.
- */
-
-#include "qemu/osdep.h"
-#include "qemu/queue.h"
-#include "qemu/lockable.h"
-#include "threadinfo.h"
-
-QemuMutex migration_threads_lock;
-static QLIST_HEAD(, MigrationThread) migration_threads;
-
-static void __attribute__((constructor)) migration_threads_init(void)
-{
-    qemu_mutex_init(&migration_threads_lock);
-}
-
-MigrationThread *migration_threads_add(const char *name, int thread_id)
-{
-    MigrationThread *thread =  g_new0(MigrationThread, 1);
-    thread->name = name;
-    thread->thread_id = thread_id;
-
-    WITH_QEMU_LOCK_GUARD(&migration_threads_lock) {
-        QLIST_INSERT_HEAD(&migration_threads, thread, node);
-    }
-
-    return thread;
-}
-
-void migration_threads_remove(MigrationThread *thread)
-{
-    QEMU_LOCK_GUARD(&migration_threads_lock);
-    if (thread) {
-        QLIST_REMOVE(thread, node);
-        g_free(thread);
-    }
-}
-
-MigrationThreadInfoList *qmp_query_migrationthreads(Error **errp)
-{
-    MigrationThreadInfoList *head = NULL;
-    MigrationThreadInfoList **tail = &head;
-    MigrationThread *thread = NULL;
-
-    QEMU_LOCK_GUARD(&migration_threads_lock);
-    QLIST_FOREACH(thread, &migration_threads, node) {
-        MigrationThreadInfo *info = g_new0(MigrationThreadInfo, 1);
-        info->name = g_strdup(thread->name);
-        info->thread_id = thread->thread_id;
-
-        QAPI_LIST_APPEND(tail, info);
-    }
-
-    return head;
-}
diff --git a/migration/meson.build b/migration/meson.build
index 16909d54c5..c7f39bdb55 100644
--- a/migration/meson.build
+++ b/migration/meson.build
@@ -36,7 +36,6 @@ system_ss.add(files(
   'savevm.c',
   'socket.c',
   'tls.c',
-  'threadinfo.c',
 ), gnutls, zlib)
 
 if get_option('replication').allowed()
-- 
2.52.0



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

* [PATCH 2/2] migration: Drop deprecated QMP migrate argument @detach
  2026-01-08 12:55 [PATCH 0/2] migration: Drop deprecated QMP stuff Markus Armbruster
  2026-01-08 12:55 ` [PATCH 1/2] migration: Drop deprecated QMP command query-migrationthreads Markus Armbruster
@ 2026-01-08 12:55 ` Markus Armbruster
  2026-01-09 12:38 ` [PATCH 0/2] migration: Drop deprecated QMP stuff Fabiano Rosas
  2 siblings, 0 replies; 4+ messages in thread
From: Markus Armbruster @ 2026-01-08 12:55 UTC (permalink / raw)
  To: qemu-devel; +Cc: peterx, farosas, devel, eblake

Deprecated in commit c2fb6eaeb9d4 (qapi/migration: Deprecate migrate
argument @detach), v10.1.0.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 docs/about/deprecated.rst       | 5 -----
 docs/about/removed-features.rst | 5 +++++
 qapi/migration.json             | 8 --------
 migration/migration-hmp-cmds.c  | 2 +-
 migration/migration.c           | 2 +-
 5 files changed, 7 insertions(+), 15 deletions(-)

diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index e9b019b41c..b53d885533 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -142,11 +142,6 @@ Use ``job-dismiss`` instead.
 
 Use ``job-finalize`` instead.
 
-``migrate`` argument ``detach`` (since 10.1)
-''''''''''''''''''''''''''''''''''''''''''''
-
-This argument has always been ignored.
-
 Human Machine Protocol (HMP) commands
 -------------------------------------
 
diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
index 9e5a4dcbac..5eee371f5f 100644
--- a/docs/about/removed-features.rst
+++ b/docs/about/removed-features.rst
@@ -760,6 +760,11 @@ without reporting any destination threads, or non-multifd source
 threads).  For debugging purpose, please use ``-name
 $VM,debug-threads=on`` instead.
 
+``migrate`` argument ``detach`` (since 11.0)
+''''''''''''''''''''''''''''''''''''''''''''
+
+This argument has always been ignored.
+
 QEMU Machine Protocol (QMP) events
 ----------------------------------
 
diff --git a/qapi/migration.json b/qapi/migration.json
index 7bd24e66e9..c99ae433e0 100644
--- a/qapi/migration.json
+++ b/qapi/migration.json
@@ -1397,19 +1397,12 @@
 # @channels: list of migration stream channels with each stream in the
 #     list connected to a destination interface endpoint.
 #
-# @detach: this argument exists only for compatibility reasons and is
-#     ignored by QEMU
-#
 # @resume: when set, use the new uri/channels specified to resume
 #     paused postcopy migration.  This flag should only be used if
 #     the previous postcopy migration was interrupted.  The command
 #     will fail unless migration is in "postcopy-paused" state.
 #     (default: false, since 3.0)
 #
-# Features:
-#
-# @deprecated: Argument @detach is deprecated.
-#
 # Since: 0.14
 #
 # .. admonition:: Notes
@@ -1469,7 +1462,6 @@
 { 'command': 'migrate',
   'data': {'*uri': 'str',
            '*channels': [ 'MigrationChannel' ],
-           '*detach': { 'type': 'bool', 'features': [ 'deprecated' ] },
            '*resume': 'bool' } }
 
 ##
diff --git a/migration/migration-hmp-cmds.c b/migration/migration-hmp-cmds.c
index a2863e6a2f..0a193b8f54 100644
--- a/migration/migration-hmp-cmds.c
+++ b/migration/migration-hmp-cmds.c
@@ -829,7 +829,7 @@ void hmp_migrate(Monitor *mon, const QDict *qdict)
     }
     QAPI_LIST_PREPEND(caps, g_steal_pointer(&channel));
 
-    qmp_migrate(NULL, true, caps, false, false, true, resume, &err);
+    qmp_migrate(NULL, true, caps, true, resume, &err);
     if (hmp_handle_error(mon, err)) {
         return;
     }
diff --git a/migration/migration.c b/migration/migration.c
index 94ade36574..42eaceb38a 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -2203,7 +2203,7 @@ static gboolean qmp_migrate_finish_cb(QIOChannel *channel,
 }
 
 void qmp_migrate(const char *uri, bool has_channels,
-                 MigrationChannelList *channels, bool has_detach, bool detach,
+                 MigrationChannelList *channels,
                  bool has_resume, bool resume, Error **errp)
 {
     bool resume_requested;
-- 
2.52.0



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

* Re: [PATCH 0/2] migration: Drop deprecated QMP stuff
  2026-01-08 12:55 [PATCH 0/2] migration: Drop deprecated QMP stuff Markus Armbruster
  2026-01-08 12:55 ` [PATCH 1/2] migration: Drop deprecated QMP command query-migrationthreads Markus Armbruster
  2026-01-08 12:55 ` [PATCH 2/2] migration: Drop deprecated QMP migrate argument @detach Markus Armbruster
@ 2026-01-09 12:38 ` Fabiano Rosas
  2 siblings, 0 replies; 4+ messages in thread
From: Fabiano Rosas @ 2026-01-09 12:38 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel; +Cc: peterx, devel, eblake

Markus Armbruster <armbru@redhat.com> writes:

> Markus Armbruster (2):
>   migration: Drop deprecated QMP command query-migrationthreads
>   migration: Drop deprecated QMP migrate argument @detach
>
>  docs/about/deprecated.rst       | 13 -------
>  docs/about/removed-features.rst | 14 ++++++++
>  qapi/migration.json             | 38 --------------------
>  migration/threadinfo.h          | 25 -------------
>  migration/migration-hmp-cmds.c  |  2 +-
>  migration/migration.c           |  8 +----
>  migration/multifd.c             |  5 ---
>  migration/threadinfo.c          | 64 ---------------------------------
>  migration/meson.build           |  1 -
>  9 files changed, 16 insertions(+), 154 deletions(-)
>  delete mode 100644 migration/threadinfo.h
>  delete mode 100644 migration/threadinfo.c

Reviewed-by: Fabiano Rosas <farosas@suse.de>

Queued, thanks!


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

end of thread, other threads:[~2026-01-09 12:39 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-08 12:55 [PATCH 0/2] migration: Drop deprecated QMP stuff Markus Armbruster
2026-01-08 12:55 ` [PATCH 1/2] migration: Drop deprecated QMP command query-migrationthreads Markus Armbruster
2026-01-08 12:55 ` [PATCH 2/2] migration: Drop deprecated QMP migrate argument @detach Markus Armbruster
2026-01-09 12:38 ` [PATCH 0/2] migration: Drop deprecated QMP stuff Fabiano Rosas

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.