diff options
| author | Peter Xu <peterx@redhat.com> | 2024-02-02 18:28:47 +0800 |
|---|---|---|
| committer | Peter Xu <peterx@redhat.com> | 2024-02-05 14:42:10 +0800 |
| commit | 25a1f8787597f6906b151b2f73ae6cc92a31de57 (patch) | |
| tree | bb94c42e3ec46d55660295ee8dd276ddbfa62f7e /migration/multifd.h | |
| parent | 452b205702335ddd45554aaf0eb37baf50bdfa00 (diff) | |
| download | focaccia-qemu-25a1f8787597f6906b151b2f73ae6cc92a31de57.tar.gz focaccia-qemu-25a1f8787597f6906b151b2f73ae6cc92a31de57.zip | |
migration/multifd: Move header prepare/fill into send_prepare()
This patch redefines the interfacing of ->send_prepare(). It further simplifies multifd_send_thread() especially on zero copy. Now with the new interface, we require the hook to do all the work for preparing the IOVs to send. After it's completed, the IOVs should be ready to be dumped into the specific multifd QIOChannel later. So now the API looks like: p->pages -----------> send_prepare() -------------> IOVs This also prepares for the case where the input can be extended to even not any p->pages. But that's for later. This patch will achieve similar goal of what Fabiano used to propose here: https://lore.kernel.org/r/20240126221943.26628-1-farosas@suse.de However the send() interface may not be necessary. I'm boldly attaching a "Co-developed-by" for Fabiano. Co-developed-by: Fabiano Rosas <farosas@suse.de> Reviewed-by: Fabiano Rosas <farosas@suse.de> Link: https://lore.kernel.org/r/20240202102857.110210-14-peterx@redhat.com Signed-off-by: Peter Xu <peterx@redhat.com>
Diffstat (limited to 'migration/multifd.h')
| -rw-r--r-- | migration/multifd.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/migration/multifd.h b/migration/multifd.h index 4ec005f53f..34a2ecb9f4 100644 --- a/migration/multifd.h +++ b/migration/multifd.h @@ -208,6 +208,7 @@ typedef struct { } MultiFDMethods; void multifd_register_ops(int method, MultiFDMethods *ops); +void multifd_send_fill_packet(MultiFDSendParams *p); static inline void multifd_send_prepare_header(MultiFDSendParams *p) { |