diff options
author | Fabiano Rosas <farosas@suse.de> | 2024-08-27 14:46:03 -0300 |
---|---|---|
committer | Fabiano Rosas <farosas@suse.de> | 2024-09-03 16:24:36 -0300 |
commit | 40c9471e402c3262b3d7ad8c79175a1a226dcf7b (patch) | |
tree | b5b372559c667284dd338830d33269ea74b86f89 /migration/multifd.h | |
parent | dc6327d99cc7e2ffcb796ef99071f9a6e5131cf3 (diff) | |
download | qemu-40c9471e402c3262b3d7ad8c79175a1a226dcf7b.zip qemu-40c9471e402c3262b3d7ad8c79175a1a226dcf7b.tar.gz qemu-40c9471e402c3262b3d7ad8c79175a1a226dcf7b.tar.bz2 |
migration/multifd: Move nocomp code into multifd-nocomp.c
In preparation for adding new payload types to multifd, move most of
the no-compression code into multifd-nocomp.c. Let's try to keep a
semblance of layering by not mixing general multifd control flow with
the details of transmitting pages of ram.
There are still some pieces leftover, namely the p->normal, p->zero,
etc variables that we use for zero page tracking and the packet
allocation which is heavily dependent on the ram code.
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>
Diffstat (limited to 'migration/multifd.h')
-rw-r--r-- | migration/multifd.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/migration/multifd.h b/migration/multifd.h index 00c872d..a3e3519 100644 --- a/migration/multifd.h +++ b/migration/multifd.h @@ -257,6 +257,8 @@ static inline void multifd_send_prepare_header(MultiFDSendParams *p) } void multifd_channel_connect(MultiFDSendParams *p, QIOChannel *ioc); +bool multifd_send(MultiFDSendData **send_data); +MultiFDSendData *multifd_send_data_alloc(void); static inline uint32_t multifd_ram_page_size(void) { @@ -271,4 +273,7 @@ static inline uint32_t multifd_ram_page_count(void) void multifd_ram_save_setup(void); void multifd_ram_save_cleanup(void); int multifd_ram_flush_and_sync(void); +size_t multifd_ram_payload_size(void); +void multifd_ram_fill_packet(MultiFDSendParams *p); +int multifd_ram_unfill_packet(MultiFDRecvParams *p, Error **errp); #endif |