qemu/util
Paolo Bonzini 667221c10d coroutine-lock: add qemu_co_rwlock_downgrade and qemu_co_rwlock_upgrade
These functions are more efficient in the presence of contention.
qemu_co_rwlock_downgrade also guarantees not to block, which may
be useful in some algorithms too.

Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20170629132749.997-3-pbonzini@redhat.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
2017-07-17 11:28:15 +08:00
..
acl.c
aio-posix.c async: remove unnecessary inc/dec pairs 2017-02-21 11:39:40 +00:00
aio-win32.c async: remove unnecessary inc/dec pairs 2017-02-21 11:39:40 +00:00
aiocb.c block: move AioContext, QEMUTimer, main-loop to libqemuutil 2017-02-21 11:14:07 +00:00
async.c async: Introduce aio_co_enter 2017-04-11 20:07:15 +08:00
base64.c
bitmap.c bitmap: add bitmap_copy_and_clear_atomic 2017-04-24 10:12:28 +02:00
bitops.c
buffer.c
bufferiszero.c
cacheinfo.c util/cacheinfo: Fix warning generated by clang 2017-07-09 21:10:23 -10:00
compatfd.c cpus: remove ugly cast on sigbus_handler 2017-03-03 16:40:02 +01:00
coroutine-sigaltstack.c
coroutine-ucontext.c
coroutine-win32.c
crc32c.c
cutils.c utils: provide size_to_str() 2017-05-17 17:30:45 +01:00
envlist.c util: Use g_malloc/g_free in envlist.c 2017-05-07 09:57:51 +03:00
error.c error: Implement the warn and free Error functions 2017-07-13 13:50:19 +02:00
event_notifier-posix.c Remove/replace sysemu/char.h inclusion 2017-06-02 11:33:52 +04:00
event_notifier-win32.c event_notifier: prevent accidental use after close 2017-03-29 02:35:23 +03:00
fifo8.c migration: consolidate VMStateField.start 2017-02-13 17:27:13 +00:00
getauxval.c
hbitmap.c qmp: add x-debug-block-dirty-bitmap-sha256 2017-07-11 17:44:59 +02:00
hexdump.c
host-utils.c host-utils: Implement unsigned quadword left/right shift and unit tests 2017-01-31 10:10:14 +11:00
id.c
iohandler.c block: move AioContext, QEMUTimer, main-loop to libqemuutil 2017-02-21 11:14:07 +00:00
iov.c
keyval.c qapi: Reject alternates that can't work with keyval_parse() 2017-05-31 16:04:09 +02:00
lockcnt.c
log.c util/cutils: Rename qemu_strtoll(), qemu_strtoull() 2017-02-23 20:35:35 +01:00
main-loop.c main_loop: Make main_loop_wait() return void 2017-07-04 14:39:28 +02:00
Makefile.objs Queued TCG patches 2017-06-22 10:25:03 +01:00
memfd.c
mmap-alloc.c exec, kvm, target-ppc: Move getrampagesize() to common code 2017-03-03 11:30:59 +11:00
module.c
notify.c
osdep.c osdep: Fall back to posix lock when OFD lock is unavailable 2017-05-11 11:15:32 +02:00
oslib-posix.c block: rip out all traces of password prompting 2017-07-11 17:44:56 +02:00
oslib-win32.c block: rip out all traces of password prompting 2017-07-11 17:44:56 +02:00
path.c util: Removed unneeded header from path.c 2017-03-14 13:26:37 +01:00
qdist.c
qemu-config.c util/qemu-config: Add loadparm to qemu machine_opts 2017-05-02 15:08:54 +02:00
qemu-coroutine-io.c
qemu-coroutine-lock.c coroutine-lock: add qemu_co_rwlock_downgrade and qemu_co_rwlock_upgrade 2017-07-17 11:28:15 +08:00
qemu-coroutine-sleep.c block: explicitly acquire aiocontext in timers that need it 2017-02-21 11:14:08 +00:00
qemu-coroutine.c coroutine-lock: do not touch coroutine after another one has been entered 2017-06-07 14:39:00 +01:00
qemu-error.c error: Functions to report warnings and informational messages 2017-07-13 13:49:54 +02:00
qemu-openpty.c
qemu-option.c qapi: merge QInt and QFloat in QNum 2017-06-20 14:31:31 +02:00
qemu-progress.c progress: Show current progress on SIGINFO 2017-04-28 18:48:11 +02:00
qemu-sockets.c sockets: ensure we don't accept IPv4 clients when IPv4 is disabled 2017-07-14 14:28:29 +01:00
qemu-thread-posix.c qemu-thread: Assert locks are initialized before using 2017-07-04 14:39:28 +02:00
qemu-thread-win32.c qemu-thread: Assert locks are initialized before using 2017-07-04 14:39:28 +02:00
qemu-timer-common.c
qemu-timer.c icount: process QEMU_CLOCK_VIRTUAL timers in vCPU thread 2017-03-14 13:51:34 +01:00
qht.c
range.c
rcu.c
readline.c
stats64.c util: add stats64 module 2017-06-16 07:55:00 +08:00
systemd.c qemu-ga: obey LISTEN_PID when using systemd socket activation 2017-03-19 11:12:12 +01:00
thread-pool.c thread-pool: add missing qemu_bh_cancel in completion function 2017-03-17 12:54:21 +01:00
throttle.c throttle: make throttle_config(throttle_get_config()) symmetric 2017-04-21 10:36:12 +01:00
timed-average.c
trace-events trace: add qemu mutex lock and unlock trace events 2017-05-05 12:09:59 +02:00
unicode.c
uri.c
uuid.c