[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 13/17] migration/multifd: Add migration_has_device_state_suppo
|
From: |
Maciej S. Szmigiero |
|
Subject: |
[PATCH v2 13/17] migration/multifd: Add migration_has_device_state_support() |
|
Date: |
Tue, 27 Aug 2024 19:54:32 +0200 |
From: "Maciej S. Szmigiero" <maciej.szmigiero@oracle.com>
Since device state transfer via multifd channels requires multifd
channels with packets and is currently not compatible with multifd
compression add an appropriate query function so device can learn
whether it can actually make use of it.
Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
---
include/migration/misc.h | 1 +
migration/multifd-device-state.c | 7 +++++++
2 files changed, 8 insertions(+)
diff --git a/include/migration/misc.h b/include/migration/misc.h
index 7266b1b77d1f..189de6d02ad6 100644
--- a/include/migration/misc.h
+++ b/include/migration/misc.h
@@ -114,5 +114,6 @@ void dirty_bitmap_mig_init(void);
/* migration/multifd-device-state.c */
bool multifd_queue_device_state(char *idstr, uint32_t instance_id,
char *data, size_t len);
+bool migration_has_device_state_support(void);
#endif
diff --git a/migration/multifd-device-state.c b/migration/multifd-device-state.c
index c9b44f0b5ab9..7b34fe736c7f 100644
--- a/migration/multifd-device-state.c
+++ b/migration/multifd-device-state.c
@@ -11,6 +11,7 @@
#include "qemu/lockable.h"
#include "migration/misc.h"
#include "multifd.h"
+#include "options.h"
static QemuMutex queue_job_mutex;
@@ -97,3 +98,9 @@ bool multifd_queue_device_state(char *idstr, uint32_t
instance_id,
return true;
}
+
+bool migration_has_device_state_support(void)
+{
+ return migrate_multifd() && !migrate_mapped_ram() &&
+ migrate_multifd_compression() == MULTIFD_COMPRESSION_NONE;
+}
- [PATCH v2 06/17] migration: Add save_live_complete_precopy_{begin, end} handlers, (continued)
- [PATCH v2 06/17] migration: Add save_live_complete_precopy_{begin, end} handlers, Maciej S. Szmigiero, 2024/08/27
- [PATCH v2 08/17] migration: Add load_finish handler and associated functions, Maciej S. Szmigiero, 2024/08/27
- [PATCH v2 07/17] migration: Add qemu_loadvm_load_state_buffer() and its handler, Maciej S. Szmigiero, 2024/08/27
- [PATCH v2 05/17] thread-pool: Implement non-AIO (generic) pool support, Maciej S. Szmigiero, 2024/08/27
- [PATCH v2 09/17] migration/multifd: Device state transfer support - receive side, Maciej S. Szmigiero, 2024/08/27
- [PATCH v2 10/17] migration/multifd: Convert multifd_send()::next_channel to atomic, Maciej S. Szmigiero, 2024/08/27
- [PATCH v2 11/17] migration/multifd: Add an explicit MultiFDSendData destructor, Maciej S. Szmigiero, 2024/08/27
- [PATCH v2 13/17] migration/multifd: Add migration_has_device_state_support(),
Maciej S. Szmigiero <=
- [PATCH v2 16/17] vfio/migration: Add x-migration-multifd-transfer VFIO property, Maciej S. Szmigiero, 2024/08/27
- [PATCH v2 14/17] migration: Add save_live_complete_precopy_thread handler, Maciej S. Szmigiero, 2024/08/27
- [PATCH v2 17/17] vfio/migration: Multifd device state transfer support - send side, Maciej S. Szmigiero, 2024/08/27
- [PATCH v2 12/17] migration/multifd: Device state transfer support - send side, Maciej S. Szmigiero, 2024/08/27
- [PATCH v2 15/17] vfio/migration: Multifd device state transfer support - receive side, Maciej S. Szmigiero, 2024/08/27
- Re: [PATCH v2 00/17] Multifd 🔀 device state transfer support with VFIO consumer, Fabiano Rosas, 2024/08/28