qemu-cr16/include/qemu
Maciej S. Szmigiero 8305921a91 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>
2025-03-06 06:47:33 +01:00
..
accel.h accel: Declare AccelClass::cpu_common_[un]realize() handlers 2023-10-03 08:00:25 -07:00
async-teardown.h Don't include headers already included by qemu/osdep.h 2023-02-08 07:28:05 +01:00
atomic.h tcg: Remove TCG_OVERSIZED_GUEST 2025-02-18 07:33:42 -08:00
atomic128.h tcg: Correct invalid mentions of 'softmmu' by 'system-mode' 2023-10-07 19:02:33 +02:00
base64.h
bcd.h
bitmap.h bitops.h: Define bit operations on 'uint32_t' arrays 2024-11-19 13:02:06 +00:00
bitops.h bitops.h: Define bit operations on 'uint32_t' arrays 2024-11-19 13:02:06 +00:00
bswap.h qemu/bswap: Undefine CPU_CONVERT() once done 2024-10-15 11:55:09 -03:00
buffer.h Replace GCC_FMT_ATTR with G_GNUC_PRINTF 2022-03-22 14:40:51 +04:00
cacheflush.h
cacheinfo.h include: Move qemu_[id]cache_* declarations to new qemu/cacheinfo.h 2022-02-21 13:30:20 +00:00
chardev_open.h util/char_dev: Add open_cdev() 2023-12-19 19:03:38 +01:00
clang-tsa.h clang-tsa: Add macros for shared locks 2022-12-15 16:07:43 +01:00
co-shared-resource.h util/co-shared-resource: Remove unused co_try_get_from_shres 2024-09-30 10:53:18 +03:00
compiler.h win32: remove usage of attribute gcc_struct 2025-01-17 10:45:13 +00:00
config-file.h util/qemu-config: Extract QMP commands to qemu-config-qmp.c 2024-04-18 11:17:27 +02:00
coroutine-core.h Rename "QEMU global mutex" to "BQL" in comments and docs 2024-01-08 10:45:43 -05:00
coroutine-tls.h tls: add macros for coroutine-safe TLS variables 2022-03-04 18:14:40 +01:00
coroutine.h qemu/coroutine: Include missing 'qemu/atomic.h' header 2024-12-20 17:44:57 +01:00
coroutine_int.h
cpu-float.h Clean up ill-advised or unusual header guards 2022-05-11 16:50:01 +02:00
cpuid.h host/include/i386: Implement clmul.h 2023-09-15 13:57:00 +00:00
crc-ccitt.h license: Update deprecated SPDX tag GPL-2.0 to GPL-2.0-only 2024-09-20 10:11:59 +03:00
crc32c.h igb: Implement Rx SCTP CSO 2023-05-23 15:20:15 +08:00
ctype.h
cutils.h hw/vmapple/aes: Introduce aes engine 2025-03-04 14:45:34 +01:00
datadir.h
dbus.h Don't include headers already included by qemu/osdep.h 2023-02-08 07:28:05 +01:00
defer-call.h util/defer-call: move defer_call() to util/ 2023-10-31 15:41:42 +01:00
drm.h
envlist.h envlist: Remove unused envlist_parse 2024-09-20 10:00:27 +03:00
error-report.h Move error_printf_unless_qmp() with monitor unit 2022-04-21 17:09:09 +04:00
event_notifier.h event_notifier: add event_notifier_get_wfd() 2022-03-06 06:19:47 -05:00
fifo8.h fifo8: introduce fifo8_peek() function 2024-09-13 20:11:13 +02:00
fifo32.h
filemonitor.h
futex.h
guest-random.h util/guest-random: Clean up global variable shadowing 2023-10-06 13:27:48 +02:00
hbitmap.h hbitmap: fix hbitmap_status() return value for first dirty bit case 2023-02-17 14:34:24 +01:00
help-texts.h docs: update copyright date to the year 2025 2025-01-02 07:44:28 +01:00
help_option.h
host-utils.h target/i386: use compiler builtin to compute PF 2024-10-31 18:28:33 +01:00
hw-version.h include: Move hardware version declarations to new qemu/hw-version.h 2022-02-21 13:30:20 +00:00
id.h
int128.h host/include/generic/host/atomic128: Fix compilation problem with Clang 17 2023-11-13 11:35:47 +01:00
interval-tree.h util: Add interval-tree.c 2022-12-20 17:09:41 -08:00
iov.h util/iov: Introduce iov_send_recv_with_flags() 2024-10-10 12:33:31 +01:00
iova-tree.h vhost-iova-tree, svq: Implement GPA->IOVA & partial IOVA->HVA trees 2025-02-21 07:18:42 -05:00
jhash.h
job.h mirror: Don't call job_pause_point() under graph lock 2024-03-18 12:03:04 +01:00
keyval.h Clean up ill-advised or unusual header guards 2022-05-11 16:50:01 +02:00
lockable.h lockable: Do not cast function pointers 2024-05-29 12:41:56 +02:00
lockcnt.h docs/devel/lockcnt: Include kernel-doc API documentation 2024-10-15 15:16:17 +01:00
log-for-trace.h util/log: Drop return value from qemu_log 2022-04-20 10:51:11 -07:00
log.h log: Add separate debug option for logging invalid memory accesses 2024-12-20 17:44:55 +01:00
madvise.h include: Move qemu_madvise() and related #defines to new qemu/madvise.h 2022-02-21 13:30:20 +00:00
main-loop.h Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
memalign.h osdep: Move memalign-related functions to their own header 2022-03-07 13:16:49 +00:00
memfd.h
mmap-alloc.h util/mmap-alloc: qemu_fd_getfs() 2023-04-24 11:29:00 +02:00
module.h module: add Error arguments to module_load and module_load_qom 2022-11-06 09:48:50 +01:00
mprotect.h include: Move qemu_mprotect_*() to new qemu/mprotect.h 2022-02-21 13:30:20 +00:00
notify.h migration: convert to NotifierWithReturn 2024-02-28 11:31:28 +08:00
nvdimm-utils.h
option.h qemu-option: remove QemuOpt from typedefs.h 2024-05-03 15:47:48 +02:00
option_int.h
osdep.h osdep: Introduce qemu_kill_thread() 2025-02-10 13:47:59 +00:00
path.h
plugin-event.h include/qemu: Split out plugin-event.h 2023-03-22 15:06:57 +00:00
plugin-memory.h plugin: Simplify struct qemu_plugin_hwaddr 2023-09-16 14:57:15 +00:00
plugin.h plugins: save value during memory accesses 2024-09-19 15:58:01 +01:00
pmem.h include/qemu: remove return after g_assert_not_reached() 2024-09-24 13:53:35 +02:00
processor.h qemu/processor: Remove unused 'qemu/atomic.h' header 2023-08-31 19:47:43 +02:00
progress_meter.h coroutine: Clean up superfluous inclusion of qemu/lockable.h 2023-01-19 10:18:28 +01:00
qdist.h
qemu-plugin.h plugins: fix kdoc annotation 2025-01-17 10:45:38 +00:00
qemu-print.h Replace GCC_FMT_ATTR with G_GNUC_PRINTF 2022-03-22 14:40:51 +04:00
qemu-progress.h include: move progress API to qemu-progress.h 2022-04-06 14:31:43 +02:00
qht.h
qsp.h
qtree.h include: Clean up includes 2024-01-30 21:20:20 +03:00
queue.h
range.h util/range: Make ranges_overlap() return bool 2024-07-23 20:30:36 +02:00
ratelimit.h
rcu.h bulk: Do not declare function prototypes using 'extern' keyword 2023-08-31 19:47:43 +02:00
rcu_queue.h remove unnecessary extern "C" blocks 2023-02-10 14:12:06 +01:00
readline.h readline: Extract readline_add_completion_of() from monitor 2023-02-04 07:56:54 +01:00
reserved-region.h util/reserved-region: Add new ReservedRegion helpers 2023-11-03 09:20:31 +01:00
selfmap.h util/selfmap: Use dev_t and ino_t in MapInfo 2023-09-01 13:34:03 -07:00
seqlock.h
sockets.h sockets: Remove deadcode 2024-10-22 11:44:23 +01:00
stats64.h stat64: Add stat64_set() operation 2023-04-27 16:39:43 +02:00
sys_membarrier.h bulk: Do not declare function prototypes using 'extern' keyword 2023-08-31 19:47:43 +02:00
systemd.h
thread-context.h util: Introduce ThreadContext user-creatable object 2022-10-27 11:00:43 +02:00
thread-posix.h thread-posix: implement Semaphore with QemuCond and QemuMutex 2022-04-06 14:31:56 +02:00
thread-win32.h
thread.h include: Move QemuLockCnt APIs to their own header 2024-10-15 15:16:17 +01:00
throttle-options.h
throttle.h throttle: use enum ThrottleDirection instead of bool is_write 2023-08-29 10:49:24 +02:00
timed-average.h license: Simplify GPL-2.0-or-later license descriptions 2024-09-20 10:11:59 +03:00
timer.h qemu/timer: Clarify timer_new*() must be freed with timer_free() 2025-02-14 08:49:06 +03:00
transactions.h
tsan.h
typedefs.h migration: Add save_live_complete_precopy_thread handler 2025-03-06 06:47:33 +01:00
unicode.h
units.h
userfaultfd.h util/userfaultfd: Remove unused uffd_poll_events 2024-10-08 15:28:55 -04:00
uuid.h util/uuid: Define UUID_STR_LEN from UUID_NONE string 2023-11-03 09:20:31 +01:00
vfio-helpers.h
vhost-user-server.h export/vhost-user-blk: Fix consecutive drains 2023-11-28 14:56:32 +01:00
win_dump_defs.h include/qemu: add 32-bit Windows dump structures 2022-04-22 13:36:04 +04:00
xattr.h qemu/xattr.h: Exclude <sys/xattr.h> for Windows 2022-12-23 11:48:13 +01:00
xxhash.h accel/tcg: include cs_base in our hash calculations 2023-06-01 11:05:05 -04:00
yank.h qapi: Fix dangling references to docs/devel/qapi-code-gen.txt 2024-01-26 07:04:53 +01:00