qemu/include
Stefan Hajnoczi e669e800fc aio: warn about iohandler_ctx special casing
The main loop has two AioContexts: qemu_aio_context and iohandler_ctx.
The main loop runs them both, but nested aio_poll() calls on
qemu_aio_context exclude iohandler_ctx.

Which one should qemu_get_current_aio_context() return when called from
the main loop? Document that it's always qemu_aio_context.

This has subtle effects on functions that use
qemu_get_current_aio_context(). For example, aio_co_reschedule_self()
does not work when moving from iohandler_ctx to qemu_aio_context because
qemu_get_current_aio_context() does not differentiate these two
AioContexts.

Document this in order to reduce the chance of future bugs.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20240506190622.56095-3-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2024-06-10 11:05:43 +02:00
..
authz
block aio: warn about iohandler_ctx special casing 2024-06-10 11:05:43 +02:00
chardev chardev: use bool for fe_is_open 2024-01-12 13:23:48 +00:00
crypto crypto: Modify the qcrypto_block_create to support creation flags 2024-02-09 12:50:37 +00:00
disas disas: Use translator_st to get disassembly data 2024-05-15 08:55:19 +02:00
exec memory: Introduce memory_region_init_ram_guest_memfd() 2024-06-05 11:01:06 +02:00
fpu fpu: Add conversions between bfloat16 and [u]int8 2023-09-16 14:57:15 +00:00
gdbstub gdbstub: Avoid including 'cpu.h' in 'gdbstub/helpers.h' 2024-04-26 15:31:37 +02:00
hw hw/loongarch/virt: Enable extioi virt extension 2024-06-06 11:56:45 +08:00
io io: Introduce qio_channel_file_new_dupfd 2024-03-12 15:22:23 -04:00
libdecnumber Replace config-time define HOST_WORDS_BIGENDIAN 2022-04-06 10:50:37 +02:00
migration Migration pull request 2024-05-22 15:32:25 -07:00
monitor kconfig: allow compiling out QEMU device tree code per target 2024-05-10 15:45:15 +02:00
net net: Remove receive_raw() 2024-06-04 15:14:26 +08:00
qapi qapi: Do not cast function pointers 2024-05-29 12:41:56 +02:00
qemu util/hexdump: Add unit_len and block_len to qemu_hexdump_line 2024-06-05 12:14:18 -07:00
qom include/qom/object.h: New OBJECT_DEFINE_SIMPLE_TYPE{, _WITH_INTERFACES} macros 2024-02-27 13:01:42 +00:00
scsi hw/ufs: Support for UFS logical unit 2023-09-07 14:01:29 -04:00
semihosting exec/cpu: Extract page-protection definitions to page-protection.h 2024-05-06 11:17:15 +02:00
standard-headers update-linux-headers: import linux/kvm_para.h header 2024-06-05 11:01:06 +02:00
sysemu hvf: Makes assert_hvf_ok report failed expression 2024-06-08 10:33:38 +02:00
tcg tcg: Introduce TCG_TARGET_HAS_tst_vec 2024-05-22 19:05:21 -07:00
ui ui/console: move QemuDmaBuf struct def to dmabuf.c 2024-05-14 17:14:12 +04:00
user user: Move 'thunk.h' from 'exec/user' to 'user' 2024-05-03 17:21:20 +02:00
elf.h util: spelling fixes 2023-08-31 19:47:43 +02:00
glib-compat.h Bump minimum glib version to v2.66 2024-05-14 12:46:24 +02:00
qemu-io.h
qemu-main.h ui/cocoa: Run qemu_init in the main thread 2022-09-23 14:36:33 +02:00