qemu/include
Paolo Bonzini 5261dd7b01 coroutine-lock: make qemu_co_enter_next thread-safe
qemu_co_queue_next does not need to release and re-acquire the mutex,
because the queued coroutine does not run immediately.  However, this
does not hold for qemu_co_enter_next.  Now that qemu_co_queue_wait
can synchronize (via QemuLockable) with code that is not running in
coroutine context, it's important that code using qemu_co_enter_next
can easily use a standardized locking idiom.

First of all, qemu_co_enter_next must use aio_co_wake to restart the
coroutine.  Second, the function gains a second argument, a QemuLockable*,
and the comments of qemu_co_queue_next and qemu_co_queue_restart_all
are adjusted to clarify the difference.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20180203153935.8056-5-pbonzini@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
2018-02-08 09:22:03 +08:00
..
block qapi: add nbd-server-remove 2018-01-26 09:37:20 -06:00
chardev chardev: introduce qemu_chr_timeout_add_ms() 2018-01-12 13:22:02 +01:00
crypto block: convert qcrypto_block_encrypt|decrypt to take bytes offset 2017-10-06 16:30:47 +02:00
disas target/xtensa: implement disassembler 2018-01-09 09:55:39 -08:00
exec * socket option parsing fix (Daniel) 2018-02-07 20:40:36 +00:00
fpu configure: Drop ancient Solaris 9 and earlier support 2017-07-21 15:04:05 +01:00
hw * socket option parsing fix (Daniel) 2018-02-07 20:40:36 +00:00
io io: introduce a network socket listener API 2017-12-15 15:07:26 +00:00
libdecnumber
migration vmstate: Add VMSTATE_UINT64_SUB_ARRAY 2018-01-25 11:45:29 +00:00
monitor block: rip out all traces of password prompting 2017-07-11 17:44:56 +02:00
net net: Remove the legacy "-net channel" parameter 2017-12-22 10:05:26 +08:00
qapi error: Improve documentation of error_append_hint() 2018-02-06 18:24:43 +01:00
qemu coroutine-lock: make qemu_co_enter_next thread-safe 2018-02-08 09:22:03 +08:00
qom accel/tcg: add size paremeter in tlb_fill() 2018-01-25 16:02:24 +01:00
scsi scsi: provide general-purpose functions to manage sense data 2017-12-21 09:30:32 +01:00
standard-headers linux-headers: update 2018-01-22 11:07:47 +01:00
sysemu Add the WHPX acceleration enlightenments 2018-02-07 14:09:26 +01:00
ui ui: fix alphabetical ordering of keymaps 2018-01-29 09:35:43 +01:00
elf.h tcg/s390: Use constant pool for movi 2017-09-07 11:57:35 -07:00
glib-compat.h glib-compat: move G_SOURCE_CONTINUE/REMOVE there 2017-10-10 16:33:55 +02:00
qemu-common.h Use HTTPS for qemu.org and other domains 2017-11-21 13:34:13 +00:00
qemu-io.h
trace-tcg.h