diff options
| author | Maciej S. Szmigiero <maciej.szmigiero@oracle.com> | 2025-03-04 23:03:44 +0100 |
|---|---|---|
| committer | Cédric Le Goater <clg@redhat.com> | 2025-03-06 06:47:33 +0100 |
| commit | 8305921a91a940023fe971c74eb1e06f2725ebab (patch) | |
| tree | 930f979fd1b3108465e2ee9f7f239b3460147236 /include/qemu/typedefs.h | |
| parent | a1131aa94256d1007b4267ff9e79c3b4ada6e2b9 (diff) | |
| download | focaccia-qemu-8305921a91a940023fe971c74eb1e06f2725ebab.tar.gz focaccia-qemu-8305921a91a940023fe971c74eb1e06f2725ebab.zip | |
migration: Add save_live_complete_precopy_thread handler
This SaveVMHandler helps device provide its own asynchronous transmission of the remaining data at the end of a precopy phase via multifd channels, in parallel with the transfer done by save_live_complete_precopy handlers. These threads are launched only when multifd device state transfer is supported. Management of these threads in done in the multifd migration code, wrapping them in the generic thread pool. Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com> Reviewed-by: Peter Xu <peterx@redhat.com> Link: https://lore.kernel.org/qemu-devel/eac74a4ca7edd8968bbf72aa07b9041c76364a16.1741124640.git.maciej.szmigiero@oracle.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
Diffstat (limited to 'include/qemu/typedefs.h')
| -rw-r--r-- | include/qemu/typedefs.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h index fd23ff7771..42ed4e6be1 100644 --- a/include/qemu/typedefs.h +++ b/include/qemu/typedefs.h @@ -108,6 +108,7 @@ typedef struct QString QString; typedef struct RAMBlock RAMBlock; typedef struct Range Range; typedef struct ReservedRegion ReservedRegion; +typedef struct SaveLiveCompletePrecopyThreadData SaveLiveCompletePrecopyThreadData; typedef struct SHPCDevice SHPCDevice; typedef struct SSIBus SSIBus; typedef struct TCGCPUOps TCGCPUOps; @@ -133,5 +134,7 @@ typedef struct IRQState *qemu_irq; typedef void (*qemu_irq_handler)(void *opaque, int n, int level); typedef bool (*MigrationLoadThread)(void *opaque, bool *should_quit, Error **errp); +typedef bool (*SaveLiveCompletePrecopyThreadHandler)(SaveLiveCompletePrecopyThreadData *d, + Error **errp); #endif /* QEMU_TYPEDEFS_H */ |