[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH RFC 24/26] migration/multifd: Add migration_has_device_state_supp
From: |
Maciej S. Szmigiero |
Subject: |
[PATCH RFC 24/26] migration/multifd: Add migration_has_device_state_support() |
Date: |
Tue, 16 Apr 2024 16:43:03 +0200 |
From: "Maciej S. Szmigiero" <maciej.szmigiero@oracle.com>
Since device state transfer via multifd channels requires multifd
channels with migration channel header 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.c | 6 ++++++
2 files changed, 7 insertions(+)
diff --git a/include/migration/misc.h b/include/migration/misc.h
index 25968e31247b..4da4f7f85f18 100644
--- a/include/migration/misc.h
+++ b/include/migration/misc.h
@@ -118,6 +118,7 @@ bool migration_in_bg_snapshot(void);
void dirty_bitmap_mig_init(void);
/* migration/multifd.c */
+bool migration_has_device_state_support(void);
int multifd_queue_device_state(char *idstr, uint32_t instance_id,
char *data, size_t len);
diff --git a/migration/multifd.c b/migration/multifd.c
index d8ce01539a05..d24217e705a0 100644
--- a/migration/multifd.c
+++ b/migration/multifd.c
@@ -819,6 +819,12 @@ bool multifd_queue_page(RAMBlock *block, ram_addr_t offset)
return multifd_queue_page_locked(block, offset);
}
+bool migration_has_device_state_support(void)
+{
+ return migrate_multifd() && migrate_channel_header() &&
+ migrate_multifd_compression() == MULTIFD_COMPRESSION_NONE;
+}
+
int multifd_queue_device_state(char *idstr, uint32_t instance_id,
char *data, size_t len)
{
- [PATCH RFC 15/26] migration/multifd: Zero p->flags before starting filling a packet, (continued)
- [PATCH RFC 15/26] migration/multifd: Zero p->flags before starting filling a packet, Maciej S. Szmigiero, 2024/04/16
- [PATCH RFC 16/26] migration: Add save_live_complete_precopy_async{, wait} handlers, Maciej S. Szmigiero, 2024/04/16
- [PATCH RFC 18/26] migration: Add load_finish handler and associated functions, Maciej S. Szmigiero, 2024/04/16
- [PATCH RFC 17/26] migration: Add qemu_loadvm_load_state_buffer() and its handler, Maciej S. Szmigiero, 2024/04/16
- [PATCH RFC 22/26] migration/multifd: Convert multifd_send_pages::next_channel to atomic, Maciej S. Szmigiero, 2024/04/16
- [PATCH RFC 21/26] migration/multifd: Device state transfer support - receive side, Maciej S. Szmigiero, 2024/04/16
- [PATCH RFC 25/26] vfio/migration: Multifd device state transfer support - receive side, Maciej S. Szmigiero, 2024/04/16
- [PATCH RFC 23/26] migration/multifd: Device state transfer support - send side, Maciej S. Szmigiero, 2024/04/16
- [PATCH RFC 19/26] migration: Add x-multifd-channels-device-state parameter, Maciej S. Szmigiero, 2024/04/16
- [PATCH RFC 20/26] migration: Add MULTIFD_DEVICE_STATE migration channel type, Maciej S. Szmigiero, 2024/04/16
- [PATCH RFC 24/26] migration/multifd: Add migration_has_device_state_support(),
Maciej S. Szmigiero <=
- [PATCH RFC 26/26] vfio/migration: Multifd device state transfer support - send side, Maciej S. Szmigiero, 2024/04/16
- Re: [PATCH RFC 00/26] Multifd 🔀 device state transfer support with VFIO consumer, Daniel P . Berrangé, 2024/04/17
- Re: [PATCH RFC 00/26] Multifd 🔀 device state transfer support with VFIO consumer, Maciej S. Szmigiero, 2024/04/17
- Re: [PATCH RFC 00/26] Multifd 🔀 device state transfer support with VFIO consumer, Daniel P . Berrangé, 2024/04/17
- Re: [PATCH RFC 00/26] Multifd 🔀 device state transfer support with VFIO consumer, Maciej S. Szmigiero, 2024/04/18
- Re: [PATCH RFC 00/26] Multifd 🔀 device state transfer support with VFIO consumer, Daniel P . Berrangé, 2024/04/18
- Re: [PATCH RFC 00/26] Multifd 🔀 device state transfer support with VFIO consumer, Maciej S. Szmigiero, 2024/04/18
- Re: [PATCH RFC 00/26] Multifd 🔀 device state transfer support with VFIO consumer, Peter Xu, 2024/04/18
- Re: [PATCH RFC 00/26] Multifd 🔀 device state transfer support with VFIO consumer, Daniel P . Berrangé, 2024/04/19
- Re: [PATCH RFC 00/26] Multifd 🔀 device state transfer support with VFIO consumer, Peter Xu, 2024/04/19